【问题标题】:How to query record type repeated field in google big query?如何在谷歌大查询中查询记录类型重复字段?
【发布时间】:2019-09-22 07:32:25
【问题描述】:

在我的大查询表中,我刚刚在记录类型字段“A”中添加了另一个记录类型字段“B”。在标准 SQL 方言中,我无法查询 B as- 的重复字段 select A.B.field1, A.B.field2, ... from where _partitiontime = ;

用于以下查询-

SELECT ad_request_custom_targeting.iom.size, 
ad_request_custom_targeting.iom.bidprice FROM `nyt-adtech- 
prd.dfp_data.dfp_log_network_requests` WHERE DATE(_PARTITIONTIME) = "2019- 
05-03" LIMIT 1000

我收到错误,因为- 无法在 [1:40] 访问类型为“ARRAY>”的值的字段大小

【问题讨论】:

    标签: google-cloud-platform google-bigquery


    【解决方案1】:

    对于 BigQuery 标准 SQL

    我假设在你的例子中

    A 是 ad_request_custom_targeting 和 B 是 iom

    SELECT B.size, B.bidprice 
    FROM `nyt-adtech-prd.dfp_data.dfp_log_network_requests`,
      UNNEST(ad_request_custom_targeting) A,
      UNNEST(A.iom) B 
    WHERE DATE(_PARTITIONTIME) = "2019-05-03" 
    LIMIT 1000
    

    【讨论】:

    • 对于这个查询,我在标准 sql 方言中得到验证错误,因为 UNNEST 中引用的值必须是数组。 UNNEST 包含 STRUCT 类型的表达式
    • 您应该使用数据的确切架构更新您的问题。我的回答是基于您目前提供的有限信息!
    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    相关资源
    最近更新 更多