2012-06-13 1 views
0

Я использую следующую команду для загрузки данных.Убедитесь, что данные загружены

/home/bigquery/bq load --max_bad_record=30000 -F '^' company.junelog entry.gz country:STRING,telco_name:STRING,datetime:STRING, ... 

Случилось так, что когда я получил ненулевой код возврата, данные все еще загружались. Как убедиться, что команда выполнена успешно или нет? Проверка кода возврата, похоже, не помогает. Иногда я загружаю один и тот же файл снова, потому что у меня есть ошибка, но данные уже были доступны в bigquery.

ответ

1

Вы можете использовать bq show -j задания загрузки и проверить статус задания. Если вы пишете код для загрузки, поэтому вы не знаете идентификатор задания, вы можете передать идентификатор задания в операцию загрузки (пока он уникален), чтобы вы знали, какое задание нужно проверить.

Например, вы можете запустить

/home/bigquery/bq load --job_id=some_unique_job_id --max_bad_record=30000 -F '^' company.junelog entry.gz country:STRING,telco_name:STRING,datetime:STRING, ...'

затем /home/bigquery/bq show --j some_unique_job_id

Примечание, если вы создаете новые таблицы для каждой нагрузки (в отличие от добавления), вы можете использовать записи распоряжения WRITE_EMPTY к убедитесь, что вы загрузили нагрузку только в том случае, если стол был пустым, что предотвращает добавление одинаковых данных дважды. Это не поддерживается непосредственно в bq.py, но вы можете использовать базовый файл bigquery_client.py для выполнения этого вызова или напрямую использовать REST api.

+0

# FATAL Ошибка распознавания флагов: Неизвестный флаг командной строки 'job_id' # Запустить 'bq help' для получения справки ##/home/bigquery/bq version ## Это BigQuery CLI v2.0.4 – shantanuo