使用Big Query中的临时外部表作为源将数据追加到另一个表

时间:2018-08-01 10:50:31

标签: google-cloud-platform google-bigquery

命令1运行正常。但是命令2不起作用。我的意图是通过查询临时外部表将数据加载到永久表中(可能是我将对外部表的数据执行一些数据清理并将其加载)。

这可能吗?

关于, Sreekanth

命令1:

bq --location=US query --external_table_definition=ORDER_DEL::INTEGRATION_ID:STRING@CSV=gs://cloud-dw-poc.appspot.com/PREPARED_LAYER/results-20180801-181812.csv 'SELECT INTEGRATION_ID FROM ORDER_DEL;'

命令2:

bq query --append_table=true --batch=false --use_legacy_sql=false --destination_table=cloud-dw-poc:Z_NOT_USED.ORDER_DEL --external_table_definition=ORDER_DEL::INTEGRATION_ID:STRING@CSV=gs://cloud-dw-poc.appspot.com/PREPARED_LAYER/results-20180801-181812.csv 'SELECT INTEGRATION_ID FROM ORDER_DEL;'

1 个答案:

答案 0 :(得分:0)

使用命令进行测试,最终成功了。您可能会考虑进行相同的测试,以查找此处发生的情况。我的测试已经使用了公共数据集bikeshare_stations。首先,我运行以下查询并将其保存到新表中:

SELECT * FROM `bigquery-public-data.austin_bikeshare.bikeshare_stations`

然后,我将结果下载为CSV,并上传到GCS中。之后,我运行以下命令:

bq query --append_table=true --batch=false --use_legacy_sql=false --destination_table=PROJECT_ID.DATASET.TABLE --external_table_definition=TABLE::station_id:INTEGER@CSV=CSV_GCS_PATH 'SELECT * FROM TABLE;'

这可以帮助您比较方案并找到原因。