2012-06-13 67 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并检查作业状态。 如果您正在编写代码来执行加载,所以您不知道作业ID,您可以将作业ID传递到加载操作(只要它是唯一的),以便您知道要检查哪个作业。

例如,您可以运行

/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

#致命标志解析错误:未知命令行标志'job_id'#运行'bq help'获取帮助##/home/bigquery/bq版本 ##这是BigQuery CLI v2.0.4 – shantanuo