BigQueryがJSONにネイティブ対応。SQLでJSONに対するクエリが可能に
今回は「BigQueryがJSONにネイティブ対応。SQLでJSONに対するクエリが可能に」についてご紹介します。
関連ワード (保存、対応、対応機能等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Google Cloudは、大規模データ分析サービスのBigQueryにおいてJSON型データへのネイティブ対応機能をパブリックプレビューとして公開しました。
Big news: BigQuery now natively supports semi-structured data.
Now you can write to #BigQuery without worrying about schema changes from your upstream data pipeline. Learn more about this public preview for the BigQuery native JSON data type ↓https://t.co/4RU3TDqIOw
— Google Cloud Tech (@GoogleCloudTech) January 6, 2022
これまでもBigQueryにおいてJSON型データを文字列として格納し、その文字列を解析しつつ利用することは可能でした。
今回のJSONネイティブ対応で、そうした手間をかけることなく、より自然な形でBigQueryのデータ型としてJSON型を扱うことができるようになりました。
スキーマを決めることなく柔軟なデータ構造でデータを扱えるJSON
JSONとは、もともとJavaScriptのオブジェクト表記法をベースにDouglas Crockford氏が2001年頃に発見し、命名した軽量のデータ記述フォーマットです。
現在では業界標準の仕様が策定されています。
参考:事実上最後のJSON仕様「RFC 8259」と「ECMA-404 2nd Editon」公開。UTF-8エンコード必須に
JSONではキーとバリューのセットを複数組み合わせることができ、配列やデータの入れ子構造なども表現できるなど、非常に柔軟にデータを記述できるのが特徴です。
BigQueryのJSON対応で、このJSON形式で記述されたデータをJSON型の列にそのまま格納できるようになりました。
JSONにより柔軟な構造を持つデータをそのままデータベースに保存できるため、あらかじめデータスキーマを決めることなく多様なデータを保存、検索できます。
例えば、既存のテーブルにJSON型の列を追加することができます。
JSON型の列に格納されたJSON形式のデータに対して、SELECT文で検索、集計できます。下記は「Authentication Failure」という文字列がJSONデータの「labels.property」フィールドに含まれている件数を検索します。このようにJSON型でドット表記が可能です。
BigQueryのJSON対応は、申し込み画面から申し込むことで利用可能になるとのこと。