MLA機械学習のためのデータ準備

広告テクノロジー企業が、1日あたり100億件のクリックイベントログをS3に蓄積し、機械学習モデルのトレーニングと分析に活用しています。各イベントには50フィールドが含まれますが、各トレーニングジョブでは平均8〜12フィールドのみ使用します。Amazon AthenaでのアドホッククエリとAWS Glue ETLによるバッチ変換、SageMakerトレーニングジョブの3つのユースケースで同一ファイルを共有する予定です。ストレージコストを削減しながら列選択アクセスを効率化するには、どのファイルフォーマットが最適ですか?

A
Apache Avro形式でS3に保存し、スキーマ進化と書き込みスループットに最適化する
Apache AvroはKafkaストリーミング処理向けの行指向フォーマットで書き込み性能が高いが、列選択アクセス(列プルーニング)ができないためAthenaクエリコストとSageMakerの読み込みデータ量が増大する。
B
JSON Lines形式でS3に保存し、Glueクローラーによる自動スキーマ検出を活用する
JSON Linesは人間可読でスキーマレスだが圧縮効率が低く、50フィールドのうち8〜12のみを参照するユースケースでも全フィールドを読み込む必要があり非効率である。
C
Apache Parquet形式でS3に保存し、列プルーニングとSnappy圧縮で読み込みコストを最小化する
✓ 正解
Apache Parquetは列指向フォーマットで使用カラムのみの列プルーニングが可能であり、Athena・Glue・SageMakerがネイティブサポートし、Snappy圧縮でストレージコストも削減できる。
D
RecordIO-Protobuf形式でS3に保存し、SageMaker Pipeモードと組み合わせてトレーニング中のストリーミング読み込みを最適化する
RecordIO-ProtobufはSageMakerの組み込みアルゴリズムとPipeモードに最適化されているが、Athenaのクエリ処理やGlue ETLとの互換性に乏しく3ユースケース共有を満たせない。

解説

Apache Parquetは列指向フォーマットで使用するカラムのみを読み込む列プルーニングをサポートし、Snappy圧縮によるストレージ削減とAthena・Glue・SageMakerのネイティブ対応により3ユースケース共有に最適。

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

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

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