используя опцию обновления схемы в beam.io.writetobigquery

Я загружаю кучу файлов журнала в BigQuery, используя поток данных Apache Beam. Формат файла может меняться с течением времени, добавляя к файлам новые столбцы. Я вижу вариант обновления схемы ALLOW_FILED_ADDITION.

кто-нибудь знает, как его использовать, вот как выглядит мой шаг WriteToBQ.

| 'write to bigquery' >> beam.io.WriteToBigQuery('project:datasetId.tableId', ,write_disposition=beam.io.BigQueryDisposition.WRITE_APPEND)

1 ответ

На самом деле я еще не пробовал это, но копаясь в документации, кажется, вы можете передать любую конфигурацию, которая вам нравится, в задание загрузки BigQuery, используя . В этом случае это может выглядеть примерно так:

      | 'write to bigquery' >> beam.io.WriteToBigQuery(
    'project:datasetId.tableId',
    write_disposition=beam.io.BigQueryDisposition.WRITE_APPEND,
    additional_bq_parameters={
        'schemaUpdateOptions': [
            'ALLOW_FIELD_ADDITION',
            'ALLOW_FIELD_RELAXATION',
        ]
    }
)

Как ни странно, это на самом деле есть в Java SDK, но, похоже, не дошло до Python SDK.

Другие вопросы по тегам