小编p.p*_*com的帖子

如何在BigQuery中完全使用嵌套模式创建新表

我在BigQuery中有一个嵌套的表A,其架构如下:

    {
    "name": "page_event",
    "mode": "repeated",
    "type": "RECORD",
    "fields": [
        {
            "name": "id",
            "type": "STRING"
        }
    ]
    }
Run Code Online (Sandbox Code Playgroud)

我想用其他表中的数据来丰富表A,并将结果保存为新的嵌套表.假设我想在表A(创建表B)中添加"description"字段,所以我的模式如下:

    {
    "name": "page_event",
    "mode": "repeated",
    "type": "RECORD",
    "fields": [
        {
            "name": "id",
            "type": "STRING"
        },
        {
            "name": "description",
            "type": "STRING"
        }
    ]
    }
Run Code Online (Sandbox Code Playgroud)

我如何在BigQuery中执行此操作?似乎没有在BigQuery SQL中创建嵌套结构的函数(NEST函数除外,它产生一个列表 - 但是这个函数似乎不起作用,失败并出现意外错误)

我能想到的唯一方法就是:

  • 使用字符串连接函数生成表B,其中单个字段称为"json",内容为来自A的丰富数据,转换为json字符串
  • 将B作为文件集F导出到GCS
  • 将F加载为表C.

有更简单的方法吗?

sql json nested google-bigquery

5
推荐指数
1
解决办法
1370
查看次数

标签 统计

google-bigquery ×1

json ×1

nested ×1

sql ×1