[新機能] AWS Glue for Apache SparkではApache Hudi、Apache Iceberg、Delta Lakeの3つが対応され始めました #reinvent

2022.11.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

AWS事業本部コンサル部デリバリーチームの丸屋です。

日本時間2022/11/29にAWS Glue のApache Sparkにて新たに3つ追加されました。

AWS Glue for Apache Spark Native support for Data Lake Frameworks (Apache Hudi, Apache Iceberg, Delta Lake)

本エントリでは、新たに3追加されたApache Spark Native Support を紹介します。

また、公式ドキュメントでは既に各種利用方法が追加されているので、利用を検討されている方は事前に確認をお願いします。

AWS Glue for Apache Spark 3.0以降にできること

前提として下記フレームワークを利用するためには、AWS Glue 3.0以降になっている必要があります。

Apache Hudi について

Apache Hudi は、増分データ処理とデータパイプラインの開発を簡素化するオープンソースのデータレイクストレージフレームワークです。

利用に関する注意点としては、AWS Glue 3.0用の Apache Hudi 0.10.1は、Hudi Merge on Read(MoR)テーブルをサポートしていないためお気をつけてください。

対応しているバージョンとしては、下記の表一覧になります。

AWS Glue version Supported Hudi version
4.0 0.12.1
3.0 0.10.1

詳しい使い方については、公式ドキュメント「Using the Hudi framework in AWS Glue」をご参考ください。


Linux Foundation Delta Lake について

Linux Foundation Delta Lake は、ACID トランザクションの実行、メタデータ処理のスケーリング、ストリーミングとバッチデータ処理の統合を支援するオープンソースのデータレイクストレージフレームワークです。

対応しているバージョンとしては、下記の表一覧になります。

AWS Glue version Supported Delta Lake version
4.0 2.1.1
3.0 1.0.1

詳しい使い方については、公式ドキュメント「Using the Delta Lake framework in AWS Glue」をご参考ください。


Apache Iceberg について

Apache Iceberg は、SQL テーブルのように機能する高パフォーマンスのテーブル形式を提供します。

利用に関する注意点としては、AWS Glue 3.0の Apache Iceberg 0.13.1では ALTER TABLE … RENAME TO をサポートしていないためお気をつけてください。

対応しているバージョンとしては、下記の表一覧になります。

AWS Glue version Supported Iceberg version
4.0 1.0.0
3.0 0.13.1

詳しい使い方については、公式ドキュメント「Using the Iceberg framework in AWS Glue」をご参考ください。

制限事項

  • 次の AWS Glue メソッドは、AWS Lake Formation に登録されているデータ レイク フレームワーク テーブルの読み取りと書き込みをサポートしていません。
    • create_data_frame.from_catalog
    • write_data_frame.from_catalog
    • getDataFrame
    • writeDataFrame
  • 小さなファイルのグループ化はサポートされていません。
  • ジョブのブックマークはサポートされていません。
  • AWS Glue 3.0 用の Apache Hudi 0.10.1 は、Hudi Merge on Read (MoR) テーブルをサポートしていません。
  • ALTER TABLE … RENAME TO AWS Glue 3.0 の Apache Iceberg 0.13.1 では使用できません。

おわりに

各Apache Sparkでは、対応バージョンが異なるため、ご利用の前に必ず一度ドキュメントを確認した上でご利用くださいませ。