3

我目前正在使用Export Collections to BigQueryFirebase 扩展。

这是一个 Firebase 函数,它会定期将 Firestore 集合更新到 BigQuery。

这很好,但似乎将 Firestore 文档数据放入 BigQuery 内的“数据”列中。

我的问题是,我将如何将这个 JSON 从数据列中取出到 BigQuery 中的单独列中。幸运的是,我的 JSON/Firestore 文档没有嵌套并且是扁平的,我打算保持这种状态。

任何建议都会很棒。我知道https://cloud.google.com/bigquery/docs/reference/standard-sql/json_functions但我正在努力寻找正确的 SQL 查询来实现这一点。

4

2 回答 2

3
    SELECT 
      JSON_EXTRACT(data, "$.user") AS user
    FROM `firebase-project.firestore_export.name-of-firestore-collection` 

是我能够用来从数据列中提取 JSON 并将其格式化为不同列的方法。

谢谢rtenha!

于 2019-11-26T14:55:05.277 回答
2

您应该能够使用JSON_EXTRACT_SCALAR“列化”您的数据。

with data as (select '{ "name" : "Jakob", "age" : "6" }' as my_json)
select 
  JSON_EXTRACT_SCALAR(my_json,'$.name') as name,
  JSON_EXTRACT_SCALAR(my_json,'$.age') as age
from data

考虑保持您的 firebase“源”数据不变,然后创建一个解析 json 的视图,为您提供可用的列。

于 2019-11-25T19:45:51.763 回答