我正在使用BigQuery PHP客户端库,但是我无法弄清楚如何将insertRows()函数配置为ALLOW_FIELD_ADDITION以允许向架构中动态添加列。
有什么地方可以配置吗?
我找不到与此有关的任何文档。
我能找到的最接近的页面是此页面,但看来这是唯一不包含PHP文档的页面-.-
https://cloud.google.com/bigquery/docs/managing-table-schemas
想知道是否在此处配置
$bigQuery = new BigQueryClient([
'projectId' => $projectId,
]);
或者在查询或insertRows函数上...
query($query)->schemaUpdateOptions('ALLOW_FIELD_ADDITION');
$table->insertRows([ ['data' => $data] ])->schemaUpdateOptions('ALLOW_FIELD_ADDITION');
答案 0 :(得分:2)
架构更新选项仅在 LOAD JOBS 中受支持,在两种情况下:
"WRITE_APPEND"
时; ,当writeDisposition为"WRITE_TRUNCATE"
且目标表是表的分区时,由分区装饰器指定。对于普通表,"WRITE_TRUNCATE"
将始终覆盖架构。
示例:
$query->schemaUpdateOptions([ 'ALLOW_FIELD_ADDITION' ]);
您的insertRows方法无法与此配合使用,因为它使用流插入。