BigQuery - 您可以通过ALLOW_FIELD_ADDITION添加值吗?

时间:2017-11-15 11:53:12

标签: google-bigquery

我正在尝试使用不在源文件/数据中的重复/静态值将数据加载到BigQuery中时添加新列。

我已经设法使用ALLOW_FIELD_ADDITION选项在加载时为我的表添加一个可以为空的列,但这只会为值添加一个null列。

如何为这个新列中的每一行设置静态值?

我的加载配置如下所示:

config= {
  'configuration'=> {
      'load'=> {
        'sourceUris'=> files_array,
        'schema'=> {
          'fields'=> fields_array
          },
        'schemaUpdateOptions' => [{ 'ALLOW_FIELD_ADDITION'=> true}],  
        'destinationTable'=> {
          'projectId'=> my_project,
          'datasetId'=> 'my_dataset',
          'tableId'=> my_table
        },
        'sourceFormat' => 'NEWLINE_DELIMITED_JSON',
        'createDisposition' => 'CREATE_IF_NEEDED',
        'writeDisposition' => 'WRITE_TRUNCATE',
        'maxBadRecords'=> 10,
      }
    },
  }

提前致谢!

1 个答案:

答案 0 :(得分:1)

你必须分两步完成:

第1步:使用现有列加载数据。

第2步:SELECT *, 3 AS new_column FROM ...,并将此查询的结果另存为表格。