используя sql скрипт, хранящийся в gcs на bigquery - PullRequest
0 голосов
/ 04 июня 2018

Я пытаюсь использовать файл .sql, сохраненный в Google Cloud Storage, для запроса BigQuery

Я пытаюсь с помощью команды bq docs безуспешно.

bq query --use_legacy_sql=false < gs://bucket/path-to-file/file.sql Используется ли команда неправильно?

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Use может использовать оба:

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)"
0 голосов
/ 04 июня 2018

Файл со скриптом должен быть локальным для вашего экземпляра 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
...