Professional Data Engineer(Google Cloud) 無料問題 3 / 10 ・ 分野2: データの取り込みと処理
BigQuery へファイルをバッチで読み込むときの圧縮について、Batch load data のページの記述に合うものはどれか。
- Parquet や ORC のファイルは、ファイル全体を gzip で圧縮したものも、そのまま読み込める
- Avro はデータ ブロックを圧縮すると並列に読めなくなるので、圧縮しない形のまま読み込む
- CSV と JSON は、圧縮しないファイルのほうが並列に読めるので、圧縮したものより速く読み込める
- CSV と JSON のファイルは、gzip のほかに、Parquet と同じ圧縮のコーデックでも読み込める
正解と解説を見る
正解: C
正解の理由
Loading compressed and uncompressed data の節は、CSV や JSON のような形式では、圧縮しないファイルは並列に読めるので、BigQuery は圧縮したファイルよりずっと速く読み込めると書く。その代わり圧縮しないファイルは大きいので、帯域の制約や、読み込む前に Cloud Storage に置くデータの費用が増えることがある。帯域が限られるなら gzip で圧縮してから Cloud Storage に上げ、読み込みの速さが大事で帯域が十分なら圧縮しないまま置く、という取引で選ぶ。
違う選択肢
「Parquet や ORC のファイルは、ファイル全体を gzip で圧縮したものも、そのまま読み込める」… Loading compressed and uncompressed data の節は、Avro・Parquet・ORC は、対応するコーデックでファイルの中のデータを圧縮したものは読み込めるが、gzip の道具などでファイルそのものを圧縮したものは読み込めないと書く。
「Avro はデータ ブロックを圧縮すると並列に読めなくなるので、圧縮しない形のまま読み込む」… 節は、Avro のバイナリ形式は圧縮したデータにも圧縮しないデータにも勧められる形式で、データ ブロックが圧縮されていても並列に読めるので速く読み込めると書く。
「CSV と JSON のファイルは、gzip のほかに、Parquet と同じ圧縮のコーデックでも読み込める」… 節は、CSV と JSON のファイルを BigQuery に読み込むときに対応するファイルの圧縮の形式は gzip だけだと書く。
押さえどころ
Parquet は列ごとの効率のよい符号化で圧縮率が高く、並列に読めるように圧縮する。ORC はデータのストライプを並列に読め、ストライプの大きさはおよそ 256 MB 以下が勧められる。どの形式でも、ファイルの中の行の順序は保証されない。読み込み先のデータセットと違うロケーションのバケットから読むと、データ転送の料金がかかる。
Professional Data Engineer(Google Cloud)の演習アプリ(無料10問・全問は解錠で)へ