【问题标题】:Getting the JSON data from the "Export Collections to BigQuery" firebase extension into row column format将 JSON 数据从“Export Collections to BigQuery”firebase 扩展中获取为行列格式
【发布时间】:2020-03-20 22:12:37
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: firebase google-cloud-firestore google-bigquery firebase-extensions


    【解决方案1】:

    您应该能够使用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 的视图,为您提供可用的列。

    【讨论】:

    • 感谢您的回复。 Firebase 扩展为我们提供了查询:` SELECT data FROM firebase-project-id.firestore_export.firestore_collection_name_raw_latest 这为我提供了包含文档中所有属性的数据列
    【解决方案2】:
        SELECT 
          JSON_EXTRACT(data, "$.user") AS user
        FROM `firebase-project.firestore_export.name-of-firestore-collection` 
    
    

    我可以用来从数据列中提取 JSON 并将其格式化为不同的列。

    谢谢你!

    【讨论】:

      猜你喜欢
      • 2021-08-28
      • 1970-01-01
      • 2021-11-08
      • 2016-12-08
      • 1970-01-01
      • 2018-06-24
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      相关资源
      最近更新 更多