Q38 — AWS DEA-C01 第1章
第 38/100 問 | ← 第1章
データエンジニアは、Amazon S3バケット内のApache Parquet形式のオブジェクトからデータを1回だけ読み取るタスクを持っています。データエンジニアは、そのデータの1列のみをクエリする必要があります。 これらの要件を最も運用オーバーヘッドが少ないソリューションはどれですか?
- A. AWS Lambda関数を設定して、S3バケットからデータをpandas DataFrameに読み込みます。DataFrameに対してSQL SELECT文を記述して必要な列をクエリします。
- B. S3 Selectを使用して、S3オブジェクトから必要な列を取得するSQL SELECT文を記述します。 ✓
- C. AWS Glue DataBrewプロジェクトを準備して、S3オブジェクトを消費し、必要な列をクエリします。
- D. S3オブジェクトに対してAWS Glueクローラーを実行します。Amazon AthenaでSQL SELECT文を使用して必要な列をクエリします。
正解: B. S3 Selectを使用して、S3オブジェクトから必要な列を取得するSQL SELECT文を記述します。
解説
正解はBです。S3 Selectは、S3ストレージバケット内のオブジェクト(例:Apache Parquet形式のデータ)から直接必要な列をクエリするための専用機能であり、データセット全体を読み込む必要がなく、運用オーバーヘッドが最小限です。選択肢Aでは、AWS Lambda関数を使用してデータをpandas DataFrameに読み込んだ後、クエリを実行するという複雑なプロセスとなり、相対的に大きなオーバーヘッドを伴います。選択肢Cでは、AWS Glue DataBrewプロジェクトの準備に多くの手間がかかります。選択肢Dでは、まずAWS Glueクローラーを実行し、その後Athenaでクエリを実行するという手順が煩雑で、オーバーヘッドが大きくなります。したがって、総合的に見て、選択肢Bが要件を満たし、かつ運用オーバーヘッドが最小のソリューションです。