• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

bigquery unnest

date: 2022-09-20 excerpt: bigquery unnestのチートシート

tag: bqbigquerygcp


bigquery unnestのチートシート

概要

  • 複雑にネストされた情報はUNNESTでアクセスできる
    • ネストとは値がList[Dict[str, Any]]のような構造
  • アクセスするときは、FROM句のあとに特定の記法で記す必要がある
    • UNNEST(table, col_name)とする

ネストされるデータ構造

struct

  • bigqueryはレコードの中にレコードが入っている状態
  • structをunnestするにはstruct名.*でアクセスする

array

  • arrayをunnestするにはselect句外でUNNESTする

具体例

SELECT
  user_id,
  x.key,
FROM 
  `xxx.yyy.zzz`, 
  UNNEST(`xxx.yyy.zzz`, nested_list_col) AS x
GROUP BY
  user_id, 
  x.key
ORDER BY
  user_id

参考

  • How to query from a table with a list of dictionaries, only for certain keys (BigQuery) SQL


bqbigquerygcp Share Tweet