sparkでparquetファイル書き出しする際にハマった
scala
dataframe.write.mode(SaveMode.Overwrite).parquet(s"s3://$bucket/hogehoge")
上記のように書くと,一部のdataframeで正常終了しない(_temporaryは作られるけども)
下記のようにパーティション数を少なくするとうまくいった
scala
dataframe.coalesce(1).write.mode(SaveMode.Overwrite).parquet(s"s3://$bucket/hogehoge")
どうやらdataframeのサイズがパーティション数に対して小さすぎる場合,空のパーティションができてしまうことが原因っぽい?