Я очень запутался, потому что столкнулся со странной ситуацией.Мое приложение spark считывает данные из базы данных Oracle и загружает их в кадр данных, используя следующую инструкцию:
private val df = spark.read.jdbc(
url = [the jdbc url],
table="(" + [the query] + ") qry",
properties= [the oracle driver]
)
Затем я сохраняю в переменной количество записей в этом кадре данных:
val records = df.count()
Я создаю таблицу кустов ([моя таблица]) со схемой данных и помещаю на нее содержимое этого кадра:
df.write
.mode(SaveMode.Append)
.insertInto([my hive db].[my table])
Ну, вот где я теряюсь;Когда я выполняю select count(*)
для таблицы кустов, в которую загружается кадр данных, «иногда» в улье на несколько записей больше, чем в переменной records
.
Можете ли вы подумать, что может бытьисточник этого несоответствия ??
* Относительно возможного дубликата , мой вопрос другой.Я не считаю свой фрейм данных много раз с разными значениями.Я считаю записи на моем фрейме данных один раз.Я сбрасываю фрейм данных в улей и подсчитываю записи в таблице улья, и иногда в улье их больше, чем в моем числе. *
Заранее большое спасибо.