Низкая производительность с pyspark на Hadoop - PullRequest
0 голосов
/ 01 октября 2018

Я выполняю задания синтаксического анализатора для синтаксического анализа файлов json и загрузки данных из них в таблицы HIVE. Я использую python (pySpark) для первого создания DataFrames, сбора данных из файлов json, для загрузки данных массовой загрузки в таблицы HIVE.Нет проблем при обработке файлов (от 300 до 500) json, что составляет ок.загрузка от 2 до 4 миллионов записей в таблицы HIVE с временем обработки ок.24 мин до 34 мин.Когда мы увеличиваем число до 1000 файлов json, обработка файлов и загрузка данных (~ 9 миллионов) в таблицы HIVE начинают занимать 3 часа, поскольку мы увеличиваем систему нумерации файлов json, резко замедляя работу до 22 часов для (8000 - 9000) файлов json, может иметь объем 84 миллиона ... но задание не выполняется с ошибкой

: org.apache.hadoop.ipc.RemoteException (org.apache.hadoop.security.token.SecretManager $ InvalidToken): token (HDFS_DELEGATION_TOKEN токен 60561 для dhpxxxx) не может быть найден в кеше

Вот различные значения параметров во время выполнения.

- клиент режима развертывания --driver-memory 50g --conf spark.driver.maxResultSize = 12g --executor-cores 4 --executor-memory 25g --num-executors 100

Вот как я отправляю свой код.

/xxx/xxx/current_loaction/spark2-client/bin/spark-submit --master yarn --deploy-mode client --driver-memory 50g --conf spark.driver.maxResultSize=12g --files /xxx/xxx/current_location/spark2-client/yyyy/hive-site.xml --executor-cores 4 --executor-memory 25g --num-executors 100 process_multi_files.py

Есть лиспособ повысить производительность текущих параметров, напомнил, что другие пользователи также запускают там задания на кластере Hadoop.Общее количество активных узлов 27, общий объем памяти ~ 4,50 ТБ

1 Ответ

0 голосов
/ 01 октября 2018

Так как производительность, похоже, напрямую связана с количеством файлов.Я бы попытался уменьшить количество файлов json, введя этап предварительной обработки для объединения файлов json, прежде чем читать их для преобразования в таблицы кустов.Сжатие файлов в gz также может помочь.( Как прочитать сжатый файл gz по pyspark )

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