#google-bigquery
#google-bigquery
Вопрос:
Я пытаюсь преобразовать существующую таблицу с разделением на разделы в таблицу с разделением на даты. Я понимаю, что нет простого способа записи в запись в таблицу разделов даты назначения, где дата является полем в исходной таблице. Я добавил каждый раздел отдельно.
Теперь ниже команда выдает ошибки, и я не уверен, в чем проблема..
bq query --allow_large_results --append_table --destination_table 'Mydataset.table1_partitioned$20150511' 'select * FROM source_dataset.table1 WHERE DATE(trans_timestamp)='2015-05-11'';
ошибка —> Несоответствие типа аргумента в функции EQUAL: первый
аргумент — тип string, ‘1999’ — тип int64
Ответ №1:
следите за правильным экранированием
bq query --allow_large_results --append_table --destination_table "Mydataset.table1_partitioned$20150511" "select * FROM source_dataset.table1 WHERE DATE(trans_timestamp)='2015-05-11'";
Я бы также добавил --noflatten_results
в качестве параметра в командную строку
Комментарии:
1. Спасибо, помогло правильное экранирование, что именно делает —noflatten_results ? Я не смог найти правильную документацию.
2. bigquery автоматически сглаживает повторяющиеся данные в несколько строк, и это предотвращает это, поиск оператора СГЛАЖИВАНИЯ cloud.google.com/bigquery/query-reference