Spark запись частичных данных в формате паркета на hdfs - PullRequest
0 голосов
/ 21 января 2020

В нашем продукте мы написали искровой код, который выполняет следующие шаги.

  1. считывает файл CSV в файл данных df (количество 3253549).
  2. Выполните команду SQL сверху указанного выше фрейма данных и назначил новый фрейм данных для purgeDF (счетчик 3253549).
  3. Захваченный счетчик кадра данных step2 (счетчик 3253549).
  4. Запись кадра данных в HDFS в формате Parquet (mode = overwrite) (count 3074305)

Иногда мы наблюдали, что счетчик данных выглядит правильно, например, 3253549. но когда я выполняю подсчет на постоянном пути к фрейму данных с помощью spark-shell, это показывает, что неправильный счет, например, 3074305

Мое наблюдение таково: размер раздела искры по умолчанию равен 200. На шаге 4 я вижу файл случайной детали отсутствует в указанном пути.

  • Ожидаемое количество: 3253549
  • Количество разделов 3253549/200 ~ = 16267.745
  • 189 Количество разделов 16267.745 * 189 ~ = 3074603.805
  • Пропущенные записи 3253549-3074603.805 ~ = 178945.195

Подсвеченный счетчик почти равен пропущенному счету.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...