У меня есть таблицы с той же схемой tab1
и tab1_partitioned
, где последний разделен на день.Вставка BigQuery в секционированную таблицу из существующей таблицы
Я пытаюсь вставить данные в секционированной таблицы с помощью следующей команды:
bq query --allow_large_results --replace --noflatten_results --destination_table 'advertiser.development_partitioned$20160101' 'select * from advertiser.development where ymd = 20160101';
, но я получаю следующее сообщение об ошибке:
BigQuery error in query operation: Error processing job 'total-handler-133811:bqjob_r78379ac2513cb515_000001553afb7196_1': Provided Schema does not match Table
Оба имеют точно такую же схему, и я действительно дону Не понимаю, почему я получаю эту ошибку. Может кто-то пролить свет на мою проблему?
На самом деле, я бы предпочел Если BigQuery поддерживает динамическое разбиение вставку, которая поддерживается в улье, но через несколько дней поиска, кажется, указывают, что не представляется возможным: -/
Спасибо, ваше предложение действительно работает. Cheers – gire
Дополнительная информация о динамическом разбиении: какой способ вставить существующие данные в таблицу секционированных bigquery? Наша существующая таблица в Hadoop содержит массу данных и уже разбита на разделы. – gire
Если у вас есть данные в существующих таблицах с таблицей с большими точками, вы можете скопировать их в секционированную таблицу с помощью команды bq cp. Если у вас есть данные за пределами bigquery, вы можете загрузить их в таблицы BigQuery, используя загрузочное задание, которое записывает в раздел таблицы (пример: таблица $ 20160615) в качестве адресата. Это гарантирует, что данные попадут в раздел по вашему выбору. https://cloud.google.com/bigquery/docs/creating-partitioned-tables#restating_data_in_a_partition –