0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS Glue Jobで_$folder$ファイルが作成されるのを回避する方法

Posted at

はじめに

Glue JobでデータをS3に作成して、それをBigquery omniで実行しようとしたときにエラーが発生しました。
原因としてはS3に「_\$folder\$」という空のファイルが作成されていたことが原因でした。
_\$folder\$についての詳細はこちらをご覧ください。

回避方法

データを書き込むときにs3://ではなくs3a://というプロトコルを使うと回避できました。

datasink = glueContext.write_dynamic_frame.from_options(
    frame = your_dynamic_frame,
    connection_type = "s3",
    connection_options = {"path": "s3a://bucket-name/prefix"}, // ここがs3aになっています
    format = "parquet"
)

おわりに

調べてみると大規模なファイルの処理をするときはs3aの方がI/O効率が良いらしく推奨されているみたいです。
そこまで推奨しているならGlue関連の記事でもっとs3aについて触れてくれたらいいのにと思った出来事でした。
まだまだ知らないことが多い技術なのでこれからも少しずつ勉強していけたらなと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?