Я пытаюсь добавить данные в таблицу с временным разделением.Мы можем создать таблицу с временным разделением следующим образом:
# from google.cloud import bigquery
# client = bigquery.Client()
# dataset_ref = client.dataset('my_dataset')
table_ref = dataset_ref.table('my_partitioned_table')
schema = [
bigquery.SchemaField('name', 'STRING'),
bigquery.SchemaField('post_abbr', 'STRING'),
bigquery.SchemaField('date', 'DATE')
]
table = bigquery.Table(table_ref, schema=schema)
table.time_partitioning = bigquery.TimePartitioning(
type_=bigquery.TimePartitioningType.DAY,
field='date', # name of column to use for partitioning
expiration_ms=7776000000) # 90 days
table = client.create_table(table)
print('Created table {}, partitioned on column {}'.format(
table.table_id, table.time_partitioning.field))
Мне было интересно, однако, сделать следующее без предварительного определения схемы, поскольку я ищу общий способ добавления новых данных.
Когда я удаляю схему в примере выше, я получаю сообщение об ошибке, что для таблицы с временным разделением требуется заранее определенная схема.Однако со временем мои файлы изменились, и это означает, что я не могу и не хочу переопределять свою схему (я буду использовать Google DataPrep для ее последующей очистки).
Как я могу решить эту проблему?