BigQuery - 您可以通过 ALLOW_FIELD_ADDITION 添加值吗?
Posted
技术标签:
【中文标题】BigQuery - 您可以通过 ALLOW_FIELD_ADDITION 添加值吗?【英文标题】:BigQuery - can you add a value via ALLOW_FIELD_ADDITION? 【发布时间】:2017-11-15 11:53:12 【问题描述】:我正在尝试在将数据加载到 BigQuery 时添加一个新列,其中包含一个不在我的源文件/数据中的重复/静态值。
我已经设法在加载时使用 ALLOW_FIELD_ADDITION 选项向我的表中添加了一个可为空的列,但这只是添加了一个值为空的列。
我将如何为这个新列中的每一行设置一个静态值?
我的加载配置如下所示:
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】:您必须分两步完成:
第 1 步:使用现有列加载数据。
第 2 步:SELECT *, 3 AS new_column FROM ...
,并将此查询的结果保存为表格。
【讨论】:
谢谢,费利佩。我一直在想,如果我可以在加载数据时附加文件名,另一种解决方案会起作用吗?我不认为这是可能的?我的文件名遵循包含 ISO2 代码的约定。 有趣的问题!您会将其作为一个不同的问题提交吗? ***.com/questions/47325630/…@Felipe Hoffa以上是关于BigQuery - 您可以通过 ALLOW_FIELD_ADDITION 添加值吗?的主要内容,如果未能解决你的问题,请参考以下文章
BigQuery - 您可以通过 ALLOW_FIELD_ADDITION 添加值吗?
您可以 SQL 填充 BigQuery 表并在同一个 API 调用中设置表列模式吗?