使用在bigquery上的gcs中存储的sql脚本

时间:2018-06-04 19:36:14

标签: bash google-bigquery google-cloud-storage

我尝试使用保存在Google云端存储上的.sql文件来查询BigQuery

我尝试使用bq命令docs但没有成功。

bq query --use_legacy_sql=false < gs://bucket/path-to-file/file.sql 命令被误用了吗?

2 个答案:

答案 0 :(得分:1)

使用可以同时使用:

bq query --nouse_legacy_sql

bq query --use_legacy_sql=false

检查您是否可以访问存储中的该存储桶,并将文件复制到本地文件夹中,如果它不是那么大:

gsutil cp gs://bucket/path-to-file/file.sql .

尝试应用该文件

bq query --nouse_legacy_sql << file.sql

如果文件不大,你可以尝试这样的技巧:

bq query --nouse_legacy_sql "$(gsutil cat gs://bucket/path-to-file/file.sql)"

答案 1 :(得分:0)

带脚本的文件应该是您的gcloud实例的本地文件 假设file.sql在您的工作目录中 - 下面的示例将起作用

bq query --use_legacy_sql=false < file.sql    

因此,在您的情况下,您需要使用gsutil首先将file.sql从GCS加载到您的目录

gsutil cp gs://bucket/path-to-file/file.sql .
bq query --use_legacy_sql=false < file.sql