최근에, BigQuery에서 JSON 데이터들을 더 유연하게 잘 다룰 수 있는 새로운 SQL function들이 출시되서 공유합니다.
새로운 SQL 함수들은 밑과 같습니다.
- JSON 값들을 primitive type으로 보다 더 유연하게 변환할 수 있게 해주는 함수들 (ex. age라는 json key가 20, "40", null이 있을때 LAX_INT64로 INT64 타입만 추출 가능):
👉 LAX_BOOL, LAX_INT64, LAX_FLOAT64 ,LAX_STRING
- 쉽게 JSON object나 array를 만들 수 있게 해주는 constructor 함수들:
👉 JSON_ARRAY, JSON_OBJECT
- JSON 값들의 수정을 쉽게해주는 mutator 함수들:
👉 JSON_ARRAY_APPEND, JSON_ARRAY_INSERT, JSON_REMOVE, JSON_SET, JSON_STRIP_NULLS
때로는 유연하게 사용하기 위해 semi-structured형식의 JSON 타입으로 데이터를 저장하는 경우가 있습니다. 하지만, JSON이 유연한 만큼 같은 key에 대해 다른 데이터 타입이 오는 경우도 있고, JSON 값을 수정해야 할때 까다로운 경우가 많습니다. 이번 업데이트를 통해 JSON 타입 데이터를 사용할때 보다 더 쉽게 사용할 수 있을 것 같아서 기대됩니다 :)
https://cloud.google.com/blog/products/data-analytics/announcing-new-sql-functions-for-json-in-bigquery?hl=en