WEB問題集
あるEC企業は、過去5年分のクリックストリームデータ(数TB、CSV形式)をS3に保存しています。データサイエンティストがAthenaで頻繁にユーザーIDと日付で集計クエリを実行しますが、スキャン量が多く料金が高騰しています。データ品質の劣化なくクエリコストとレイテンシを最小化する方法はどれですか。
正解:D
正解の根拠
Athenaのスキャン量課金を最小化するには、列指向フォーマット(Parquet/ORC)への変換と、頻繁なフィルタ列でのパーティション分割が最も効果的です。CTAS(CREATE TABLE AS SELECT)文を1回実行するだけで、Snappy圧縮Parquet+年月日パーティションのテーブルを生成でき、列プルーニングとパーティションプルーニングの両方が効くため、クエリスキャン量を90%以上削減できます。
フォーマット別スキャン量比較
| 形式 | 圧縮 | 列プルーニング | 典型的削減率 |
|---|---|---|---|
| CSV | なし | 不可 | 0% |
| CSV+gzip | あり | 不可 | 70% |
| Parquet+Snappy | あり | 可 | 90%以上 |
CTAS例
CREATE TABLE clicks_parquet
WITH (format='PARQUET', parquet_compression='SNAPPY',
partitioned_by=ARRAY['year','month','day'],
external_location='s3://bucket/clicks_parquet/')
AS SELECT user_id, event, year, month, day FROM clicks_csv;不正解の理由
- A: スキーマ再検出やキャッシュではスキャン量自体は減らず、根本的なコスト最適化になりません。
- C: S3 Selectは1オブジェクト単位の絞り込みであり、Athenaの集計クエリ全体のスキャン削減には適しません。
- B: RDSへのロードは追加コストと運用負担が増え、TB級データには不向きです。
参考:Athena CTAS
あるヘルスケア企業は、患者データに含まれるPII(氏名・社会保障番号・電話番号など)を学習前にマスクする必要があります。GUI操作で機微情報を検出・変換し、データサイエンティストの工数を最小化したい場合、組み合わせとして最適なものはどれですか。
正解:A
正解の根拠
Amazon MacieはS3上のPIIや機微データをMLで自動検出するセキュリティサービスです。検出結果に基づき、AWS Glue DataBrewのマスキング/暗号化/シャッフル/置換などGUIレシピで非開発者でも匿名化できます。コーディング不要のため、データサイエンティスト工数を最小化できます。
マスキング手段の比較
| サービス | 役割 | 必要スキル |
|---|---|---|
| Macie | PII検出 | GUI |
| DataBrew | 変換・マスキング | GUIレシピ |
| Glue ETL | カスタム変換 | PySpark |
| Comprehend | NLPエンティティ抽出 | API |
DataBrewレシピ例
{
"Action": "MASK_CUSTOM",
"SourceColumn": "ssn",
"MaskMode": "REPLACE_ALL"
}不正解の理由
- D: 列除外のみで実データの匿名化ができません。
- C: Comprehendは医療向け(Comprehend Medical)も含めAPI実装が必要で工数増です。
- B: Object Lambdaは取得時変換であり、データレイク全体の永続的匿名化には不向きです。
あるメーカーは、複数のオンプレミスNASに保存された100TBの製造画像データをS3に移行し、SageMakerで学習に利用したいと考えています。回線帯域は1Gbpsで、転送に1か月以上かけることは許容されません。最適な方法はどれですか。
正解:C
正解の根拠
1Gbps回線では100TBの転送に理論上約9日(実効帯域でさらに長期化)かかり、業務影響が大きいため、Snowball Edge Storage Optimizedで物理デバイス輸送する方が早く確実です。1台あたり80TB級の容量があり、複数台並列で1か月以内に完了できます。
データ移行手段の比較
| 手段 | 適合容量 | 所要時間 |
|---|---|---|
| DataSync | 〜数TB | 回線次第 |
| Snowball Edge | 数十TB/台 | 約1週間/台 |
| Snowmobile | PB級 | 数週間 |
| Storage Gateway | 段階的 | 常時同期 |
不正解の理由
- A: 1Gbpsで100TBは時間がかかりすぎ、業務帯域を圧迫します。
- B: Storage Gatewayは継続的なハイブリッド利用向けで一括移行手段ではありません。
- D: マルチパートアップロードでも回線帯域がボトルネックです。
参考:AWS Snowball
機械学習チームは、複数モデル間で再利用するためにユーザー特徴量(年齢・購買履歴集計など)を一元管理し、リアルタイム推論時には数十ミリ秒以内に取得し、学習時には時点整合の履歴を取得したいです。最適なサービスはどれですか。
正解:B
正解の読拠
SageMaker Feature Storeはオンラインストア(低レイテンシKey-Valueストア)とオフラインストア(S3+Iceberg/Glue Catalog)を一体提供します。オンラインは推論用に数msで取得でき、オフラインはイベント時刻ベースのpoint-in-timeクエリで学習用時系列特徴量を再現できます。
機能対応表
| 機能 | オンライン | オフライン |
|---|---|---|
| レイテンシ | 数ms | 分 |
| 用途 | リアルタイム推論 | 学習・バックテスト |
| 保管 | マネージドKVS | S3+Iceberg |
取り込み例
fg.ingest(data_frame=df, max_workers=4)不正解の理由
- D: DynamoDB自前構築では時点整合のpoint-in-timeクエリ実装に大きな工数が必要です。
- C: Redshift+ElastiCacheでも同様に独自実装が要りスキーマ整合管理が複雑です。
- A: Auroraは汎用RDBで特徴量管理機能を備えていません。
データサイエンティストが日次バッチで生成されるS3上のJSONログに対して品質ルール(必須カラム存在、一意性、値域)を宣言的に記述しモニタリングしたいです。最も少ないコードで実装できるのはどれですか。
正解:B
正解の根拠
AWS Glue Data Qualityは、宣言的なDSLであるDQDLでルールを記述し、Glueジョブやデータカタログテーブルに対し品質評価を行えます。マネージドのため最小コードでルール検査が可能で、結果はCloudWatchやEventBridgeに連携できます。
DQDL例
Rules = [
IsComplete "user_id",
Uniqueness "session_id" > 0.99,
ColumnValues "age" between 0 and 120
]主要選択肢比較
| サービス | コード量 | 運用 |
|---|---|---|
| Glue Data Quality | 少 | マネージド |
| Deequ on EMR | 多 | クラスタ管理要 |
| Lambda+Pydantic | 多 | 独自実装 |
不正解の理由
- D: DeequはOSSで強力ですがEMR運用が必要です。
- A: Lambda独自スクリプトは保守負荷が高くなります。
- C: Macieは機微情報検出で品質評価ではありません。
