【问题标题】:Hive Array<Struct<field1:string, field2:string> equivalent in BigQueryBigQuery 中的 Hive Array<Struct<field1:string, field2:string> 等效项
【发布时间】:2020-11-27 11:11:32
【问题描述】:

我有一个配置单元表,其中一列是数组 ruleInfoList 数组

我正在尝试在 Bigquery 中创建一个类似的 DDL,但无法弄清楚如何做到这一点。 然后我尝试插入数据而不使用 Java 在 BigQuery 中创建表,并注意到下面的架构,我不确定 Record 是什么以及 list and element 是从哪里创建的。请看下面的截图。

【问题讨论】:

    标签: google-cloud-platform google-bigquery


    【解决方案1】:

    在 BigQuery SQL 中,RECORD 是 STRUCT,REPEATED 是 ARRAY,您的列的类型应该是:

    ruleinfolist STRUCT<list ARRAY<element STRUCT<dataClassCode STRING, dataRuleGroupCode> > >
    

    提示:要查看表列的类型,可以查询INFORMATION_SCHEMA.COLUMNS,查看DATA_TYPE列。

    【讨论】:

    • 所以你的意思是存储 List,在这种情况下 ruleinfolist,我需要像上面一样创建架构
    • 当您使用“自动检测”架构将数据加载到 BigQuery 时,这是您将获得的类型(或根据您的描述获得)
    • 好的,但是如果我想预先提供架构,那么我应该使用什么来存储结构数组?
    • 同类型。您可以使用 1 行数据来测试会生成什么类型​​,而不是推测。
    猜你喜欢
    • 2020-09-22
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    相关资源
    最近更新 更多