PHP - Как настроить SchemaUpdateOption для ALLOW_FIELD_ADDITION в библиотеке PHP BigQuery - PullRequest
0 голосов
/ 02 мая 2019

Я использую клиентскую библиотеку BigQuery PHP, однако не могу понять, как настроить функцию insertRows () для ALLOW_FIELD_ADDITION, чтобы разрешить динамическое добавление столбцов в схему.

Есть ли где-то для настройкиthis?

Я не могу найти какую-либо документацию по этому вопросу.

Самое близкое, что я мог получить, было на этой странице, но, похоже, это единственная страница, которая не включает документацию 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 Ответ

2 голосов
/ 03 мая 2019

Параметры обновления схемы поддерживаются только в ЗАДАНИЯХ ЗАГРУЗКИ и в двух случаях:

  • , когда writeDisposition имеет значение "WRITE_APPEND";
  • , когда writeDisposition имеет значение "WRITE_TRUNCATE", а таблица назначения является разделом таблицы, определенной декораторами разделов.Для обычных таблиц "WRITE_TRUNCATE" всегда будет перезаписывать схему.

    Пример:

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

Ваш метод insertRows не будет работать сэто, поскольку это использует потоковые вставки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...