Указание региона в потоке данных для чтения BigQuery Dataset python SDK - PullRequest
1 голос
/ 23 мая 2019

Я пытаюсь прочитать большой набор данных в потоке данных. Не удается найти указанный мной набор данных / таблицу bigquery.

имя-задания preprocess-ga360-190523-130005

мой виртуальный компьютер, ведро gcs и набор данных bigquery находятся в Европе-западе2.

По какой-то причине он ищет набор данных в местоположении 'US'

modules versions are apache-beam 2.5.0,google-cloud-dataflow 2.0.0, google-cloud-bigquery 0.25.0

Искал документацию и не смог найти ответ, почему это происходит.

OUTPUT_DIR = "gs://some-bucket/some-folder/"

#dictionary of pipeline options
options = {
    "staging_location": "gs://some-bucket/some-folder/stage/"
    "temp_location": "gs://some-bucket/some-folder/tmp/"
    "job_name": job_name,
    "project": PROJECT,
    "runner": "DirectRunner",
    "location":'europe-west2',
    "region":'europe-west2',
}

#instantiate PipelineOptions object using options dictionary
opts = beam.pipeline.PipelineOptions(flags = [], **options)

#instantantiate Pipeline object using PipelineOptions
with beam.Pipeline(options=opts) as 
    outfile = "gs://some-bucket/some-folder/train.csv"
    (
      p | "read_train" >> beam.io.Read(beam.io.BigQuerySource(query = 
my_query, use_standard_sql = True))
        | "tocsv_train" >> beam.Map(to_csv)
        | "write_train" >> beam.io.Write(beam.io.WriteToText(outfile))
    )
print("Done")

Ответ:

HttpError: доступ к HttpError https://www.googleapis.com/bigquery/v2/projects/projects/queries/querystring: ответ: <{'status': '404', 'content-length': '342', 'x-xss-protection': '0', 'x-content-type-options': 'nosniff', 'Transfer-Encoding': 'Chunked', 'Varie': 'Origin, X-Origin, Referer', 'server': 'ESF', '-content-encoding': 'gzip', 'cache-control': 'private', 'date': 'Четверг, 23 мая 2019 г. 13:00:08 GMT', 'x-frame-options': 'SAMEORIGIN', 'content-type': 'application / json; кодировка = UTF-8' }>, содержание <{"ошибка": { «код»: 404, "message": "Не найдено: Набор данных my_dataset: просмотры не найдены в местоположении US", "ошибки": [ { "message": "Не найдено: Набор данных my_dataset: просмотры не найдены в местоположении US", "домен": "глобальный", "причина": "не найден" } ], "status": "NOT_FOUND"}} </p>

1 Ответ

0 голосов
/ 23 мая 2019

В Apache Beam 2.5.0 Python SDK источники запросов не из США еще не поддерживаются .

Похоже, что поддержка была добавлена ​​в Apache Beam 2.8.0 Python SDK [ Примечания к выпуску , PR , JIRA ].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...