ある企業が、データのファイル形式を選定しようとしている。「スキーマが行ごとに異なる可能性があるログデータ」を保存するのに適したファイル形式を2つ選択してください。
- A. JSON Lines(.jsonl):1行1JSONオブジェクト形式でスキーマが行ごとに異なっても柔軟に対応できる
- B. CSV:固定区切り文字でフィールド数と型が全行で一定という前提の形式
- C. Microsoft Excel(.xlsx):スプレッドシート形式でデータを格納する
- D. Parquet:列指向の圧縮バイナリ形式で固定スキーマの大規模集計に優れる
- E. JSON(通常の配列形式):配列内の各オブジェクトが異なるフィールドを持てる半構造化形式
解答と解説を見る
正解: A, E
スキーマが行ごとに異なる可能性があるログデータには「JSON Lines」と「通常のJSON(配列形式)」が適している。JSON Linesは1行に1JSONオブジェクトを記述する形式で、各オブジェクトが異なるフィールドを持てるため、ログの種類ごとに属性が異なる場合でも柔軟に表現できる。ストリーミングツールとの親和性も高く追記書き込みも容易である。通常のJSON配列形式も各要素が異なるフィールドを持てる半構造化形式であり、スキーマの柔軟性を確保できる。選択肢Dの ParquetはスキーマをParquetファイルに埋め込む形式で、列指向の固定スキーマ大規模集計に優れるが、スキーマが行ごとに変わる場合の柔軟性は低い。選択肢BのCSVは全行でフィールド数・順序が一定という前提の行指向テキスト形式のため、スキーマが行ごとに異なるログデータの保存には向かない。選択肢CのExcelはスプレッドシートツール向け形式であり、大量ログデータの保存・機械処理には不向きである。