Для небольших входных файлов s3 (~ 10 ГБ) задание склеивания ETL работает нормально, но для большего набора данных (~ 200 ГБ) задание не выполняется.
Добавление части кода ETL.
# Converting Dynamic frame to dataframe
df = dropnullfields3.toDF()
# create new partition column
partitioned_dataframe = df.withColumn('part_date', df['timestamp_utc'].cast('date'))
# store the data in parquet format on s3
partitioned_dataframe.write.partitionBy(['part_date']).format("parquet").save(output_lg_partitioned_dir, mode="append")
Работа выполнена за 4 часа и выдала ошибку.
Конец LogType: stdout
Буду признателен, если вы предоставите какие-либо рекомендации по решению этой проблемы.
Вы можете установить настраиваемые параметры, такие как
# Converting Dynamic frame to dataframe
df = dropnullfields3.toDF()
# create new partition column
partitioned_dataframe = df.withColumn('part_date', df['timestamp_utc'].cast('date'))
# store the data in parquet format on s3
partitioned_dataframe.write.partitionBy(['part_date']).format("parquet").save(output_lg_partitioned_dir, mode="append")
, только во время создания экземпляра контекста, а клей предоставляет вам контекст (из памяти вы не можете создать экземпляр нового контекста). Я не думаю, что вы сможете изменить значение этого свойства.