PHP-如何在PHP BigQuery库中将SchemaUpdateOption配置为ALLOW_FIELD_ADDITION

时间:2019-05-02 20:26:16

标签: php google-bigquery

我正在使用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');

1 个答案:

答案 0 :(得分:2)

架构更新选项仅在 LOAD JOBS 中受支持,在两种情况下:

  • 当writeDisposition为"WRITE_APPEND"时;
  • ,当writeDisposition为"WRITE_TRUNCATE"且目标表是表的分区时,由分区装饰器指定。对于普通表,"WRITE_TRUNCATE"将始终覆盖架构。

    示例:

$query->schemaUpdateOptions([
    'ALLOW_FIELD_ADDITION'
]);

您的insertRows方法无法与此配合使用,因为它使用流插入。