BigQueryがJSONにネイティブ対応。SQLでJSONに対するクエリが可能に
Google Cloudは、大規模データ分析サービスのBigQueryにおいてJSON型データへのネイティブ対応機能をパブリックプレビューとして公開しました。
Big news: BigQuery now natively supports semi-structured data.
— Google Cloud Tech (@GoogleCloudTech) January 6, 2022
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
これまでも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型の列を追加することができます。
ALTER TABLE `existingDataset.existingTable`
ADD COLUMN newJSONField JSON
JSON型の列に格納されたJSON形式のデータに対して、SELECT文で検索、集計できます。下記は「Authentication Failure」という文字列がJSONデータの「labels.property」フィールドに含まれている件数を検索します。このようにJSON型でドット表記が可能です。
SELECT COUNT(*)
FROM `json_example.streaming_events`
WHERE
JSON_VALUE(labels.property) = "Authentication Failure"
BigQueryのJSON対応は、申し込み画面から申し込むことで利用可能になるとのこと。
あわせて読みたい
WebAssemblyランタイム「Wasmer 2.1」リリース。WASI用に仮想ファイルシステムを実装し、ブラウザでもWASIが利用可能に
≪前の記事
2021年のエンタープライズIT市場、売り上げ1位は圧倒的強さでマイクロソフト。2位IBM、3位にAmazonが食い込む。4位には中国Huawei。Synergy Research Group