無限ノック › DEA 練習問題一覧 › 問題
DEAデータストアの管理

あるデータエンジニアリングチームは、Amazon S3上のデータレイクを管理しています。以下の要件があります。 ・複数のETLジョブによる同時書き込みでのACIDトランザクション保証 ・特定の過去時点のデータ状態を参照するタイムトラベルクエリ ・既存データの再書き込みなしでのカラム追加・型変更(スキーマ進化) ・Amazon AthenaおよびAWS Glue ETLジョブの両方からネイティブにアクセス これらの要件をすべて満たす最適なアプローチはどれですか?

A
Apache ParquetファイルをS3のプレフィックスで手動パーティション管理し、AWS Glueクローラーで定期的にスキーマを更新する
Parquet + 手動パーティション管理はACIDトランザクションやタイムトラベルをサポートせず、並行書き込みでデータ破損のリスクがあります。
B
Apache HudiをAmazon EMR上で実行し、HudiのDeltaStreamerを使ってインクリメンタル更新を管理する
Apache HudiもACIDやタイムトラベルをサポートしますが、DeltaStreamerのセットアップが別途必要なうえ、AthenaやGlue Data Catalogとのネイティブ統合はIcebergほど完成されていません。
C
Apache IcebergテーブルをAWS Glue Data Catalogに登録し、Amazon Athenaクエリエンジンv3を使用する
✓ 正解
Apache IcebergはAWSのマネージドサービスと最も緊密に統合されています。Athenaエンジンv3はIcebergのACIDトランザクション、タイムトラベル(FOR SYSTEM_TIME AS OF構文)、スキーマ進化をネイティブにサポートします。Glue Data CatalogもIcebergのメタデータを直接管理でき、別途同期の仕組みが不要です。
D
Delta LakeフォーマットをAmazon EMR上のApache Sparkで管理し、Athenaから外部テーブルとしてアクセスする
Delta LakeはDatabricks環境に最適化されたフォーマットであり、AWS Glue Data Catalogとのネイティブ統合が限定的で、AthenaからのACIDサポートに追加設定が必要です。

解説

Apache IcebergはAWSのマネージドサービスと最も緊密に統合されています。Athenaエンジンv3はIcebergのACIDトランザクション、タイムトラベル(FOR SYSTEM_TIME AS OF構文)、スキーマ進化をネイティブにサポートします。Glue Data CatalogもIcebergのメタデータを直接管理でき、別途同期の仕組みが不要です。 選択肢AのParquet + 手動パーティション管理はACIDトランザクションやタイムトラベルをサポートせず、並行書き込みでデータ破損のリスクがあります。 選択肢BのApache HudiもACIDやタイムトラベルをサポートしますが、DeltaStreamerのセットアップが別途必要なうえ、AthenaやGlue Data Catalogとのネイティブ統合はIcebergほど完成されていません。 選択肢DのDelta LakeはDatabricks環境に最適化されたフォーマットであり、AWS Glue Data Catalogとのネイティブ統合が限定的で、AthenaからのACIDサポートに追加設定が必要です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DEA の問題一覧に戻る