🕌

JSON LoverとしてDatabricksのVariant型を使ってみた

2024/06/06に公開

JSON大好きです

だって、ドキュメントデータベースとか好きですし、、、

だからちょっとDatabricksのVariant型試してみました

こんなBlog見ちゃったら試すしか無いじゃん。

table作成

Table作るのはこんな感じ

CREATE TABLE sample_catalog.sample_schema.variant_table (variant_col Variant);

データインサート

INSERT INTO sample_catalog.sample_schema.variant_table (variant_col) SELECT PARSE_JSON('{"name":"kuwano","age":42,"email":"akihiro.kuwano@databricks.com","memberDate":"2024-06-06T02:01:17+0000","UserScore":{"hi_score":3185400,"gamerank":5139}}') data;

データ見てみましょ

最初はシンプルに

シンプルな SELECT * でみて見るとこんな感じ。

SELECT * FROM sample_catalog.sample_schema.variant_table

DatabricksのNotebookだといい感じにデータ見れるよ。

zZZZ

次はネストしたデータとかをみてみよう

上のデータ、実際にJSONとして表示すると実はこうなってます。

{
   "name":"kuwano",
   "age":42,
   "email":"akihiro.kuwano@databricks.com",
   "memberDate":"2024-06-06T02:01:17+0000",
   "UserScore":{
      "hi_score":3185400,
      "gamerank":5139
   }
}

このデータのネストしたデータを引っ張ってくるにはこういう感じでいけます。

SELECT variant_col:email::string, variant_col:UserScore.gamerank::int 
FROM sample_catalog.sample_schema.variant_table

便利です!!!
Databricks Runtime 15.3から使えるようになるのでお待ちくださいませ!

Discussion