小さな s3 入力ファイル (~10GB) の場合、グルー ETL ジョブは正常に機能しますが、より大きなデータセット (~200GB) の場合、ジョブは失敗します。
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 時間実行され、エラーがスローされました。
ファイル "script_2017-11-23-15-07-32.py"、49 行目、partitioned_dataframe.write.partitionBy(['part_date']).format("parquet").save(output_lg_partitioned_dir, mode="append" 内) ファイル "/mnt/yarn/usercache/root/appcache/application_1511449472652_0001/container_1511449472652_0001_02_000001/pyspark.zip/pyspark/sql/readwriter.py"、行 550、保存ファイル "/mnt/yarn/usercache/root/appcache/application_151206/application_1512144294" /container_1511449472652_0001_02_000001/py4j-0.10.4-src.zip/py4j/java_gateway.py"、1133 行目、呼び出し中デコ ファイル "/mnt/yarn/usercache/root/appcache/application_151144294026 container_1511449472652_0001_02_000001/py4j-0.10.4-src.zip/py4j/protocol.py"、319 行目、get_return_value py4j.protocol.Py4JJavaError: o172.save の呼び出し中にエラーが発生しました。: org.apache.spark.SparkException: ジョブが中止されました。org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1.apply$mcV$sp(FileFormatWriter.scala:147) で org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun で$write$1.apply(FileFormatWriter.scala:121) at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1.apply(FileFormatWriter.scala:
LogType:stdout の終わり
この問題を解決するためのガイダンスを提供していただければ幸いです。