AWS Glue Struct型のハマるポイント

AWS Glue Struct型のハマるポイント

AWS Glue にてStruct型でハマったポイントについて解説しておきたいと思います。

クローラー

クローラーの設定で項目が追加してもデータカタログを更新してくれる機能がありますが、Struct型の中身が違う場合は機能しませんでした。

Athena

AthenaでもStruct型の中身がスキーマとパーティションで違うデータがある場合にエラーとなりました。

ジョブ

上記のようなデータはStruct型ではなく、String型とするしかなかったのでString型にしたのですが、Struct型はDynamicFrameを通すと自動的にStruct型に変換されてしまいます。これを元に戻す為には、DynamicFrameを通した後に、ApplyMappingで型を変換してあげる必要がありました。

datasource = glueContext.create_dynamic_frame.from_catalog(
  database = "hoge_database",
  table_name = "hoge_table",
  transformation_ctx = "datasource"
)

applymapping = ApplyMapping.appy(
  frame= datasource,
  mappings = [
    ("hoge", "string", "hoge", "string")
  ]
)

以上です。

Comments

No comments yet. Why don’t you start the discussion?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です