Spark - выполнение чтения большого файла приводит к умножению набора данных - PullRequest
0 голосов
/ 07 декабря 2018

В настоящее время я запускаю сценарий, который выполняет очень простое чтение довольно большого файла с разделителем каналов (~ 870 000 записей с 28 столбцами).Приведенный ниже код для справки:

readFile = spark.read.option("delimiter", inputFileDemiliter).csv(inputPath, mode = readMode, \
                    header=True, inferSchema=False,schema = schema)

Проблема в том, что, если я выполню простой подсчет на фрейме данных readFile, я получу количество записей около 14 миллионов (это в 16,59 раз больше первоначального числа записей,если быть точным).

Я думаю, что это как-то связано с репликацией.Мы могли бы выполнить дедупликацию в столбце первичного ключа, но мы не должны разбираться с этой проблемой в первую очередь и поэтому хотим этого избежать.

Кто-нибудь знает, как предотвратить это?Заранее спасибо.

1 Ответ

0 голосов
/ 11 декабря 2018

Оказывается, что проблема была из-за службы шифрования, которая была активна в нашем каталоге HDFS.Шифрование может повлиять на количество разделителей в нашем файле, отсюда и количество странных записей.

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