Я запускаю запрос BigQuery с помощью bq, который выбирает подмножество строк из одной таблицы в таблицу назначения.Инструмент командной строки bq мгновенно висит в памяти с --format = none
Наша команда выглядит следующим образом:
bq --format=none query --destination_table=dpm_legacy.unique_test [query]
В командной строке я получаю:
Waiting on job_cda83335e0a4416ea9d4a2a0262d1ec7 ... (0s) Current status: RUNNING
Waiting on job_cda83335e0a4416ea9d4a2a0262d1ec7 ... (10s) Current status: DONE
Но тогда процесс зависает на некоторое время, и это процессор и использование памяти начинают не ползти вверх, пока она, наконец, существует без вывода.
Эмпирически кажется, что время, в течение которого инструмент висит, прямо пропорционален тому, насколько велика таблица назначения, возможно ли, что даже с флагом --format = none он все еще возвращает данные?
Спасибо!
FYI - Я только что представил исправление для этого, но вам нужно подождать до следующей версии bq. –
Удивительный, спасибо! Он проверен на странице http://code.google.com/p/google-bigquery-tools? Мог бы это сделать из источника. –
Он не зарегистрирован в публичном репозитории, но diff крошечный: (номера вашей строки могут не совпадать из-за переформатирования, которые мы делаем) @@ -965,8 +965,12 @@ + flags.DEFINE_integer ( + 'MAX_ROWS', 100, +, + flag_values = бс 'Сколько строк, возвращаемых в результате.') @@ -990,9 +994,10 @@ - _PrintTable (клиент, работа [ 'configuration'] ['query'] ['destinationTable']) + _PrintTable (клиент, задание ['configuration'] ['query'] ['destinationTable'], + max_rows = FLAGS.max_rows) –