2016-11-30 10 views
1

У меня есть кадр данных в ведро S3, разделенный на 8 csv файлов по 709,7 МБ каждый.Загрузите файл с S3 в узлы кластера EMR в pyspark

Я создаю кластер EMR с 8 узлами (r3.4xlarge: 16 vCPU, 122 RAM и 320 дисков).

Мои конфигурации Свечи являются:

num-executors='23' 
executor-memory='34G' 
executor-cores='5' 

Я пишу этот питон скрипт, чтобы загрузить мой dataframe:

df = sqlContext.read.load("s3://my-bucket/my-dataframe/*", 
           format='com.databricks.spark.csv', 
           header='true', 
           delimiter='\t', 
           inferSchema='true') 

Проблема: Когда я смотрю этапы Спарк истории сервера, вот результат.

enter image description here

3 CSV-файлы не загружаются правильно. У кого-то есть решение для решения этой проблемы или идеи причины, пожалуйста?

ответ

0

Посмотрите на фактический результат, если сообщение запутано.

BTW, этот параметр inferSchema заставляет сканировать весь CSV-файл, чтобы выработать его схему, при этом удваивая объем данных, считываемых с 700 МБ/файл до 1400 МБ. Если вы используете данные на дальние расстояния, вы удваиваете свои счета; если местный, ну, это еще много времени. Разработайте схему один раз и объявите ее в DF.

 Смежные вопросы

  • Нет связанных вопросов^_^