Читать Apache Beam + большой запрос таблицы
У меня есть набор данных в большом запросе в проекте: Project: project-x Table: table01 Dataset: dataset01
Я хотел бы подключиться к нему из Apache Beam и прочитать значение одного column-column01 например...
Вот что у меня есть:
import apache_beam as beam
from apache_beam.options.pipeline_options import PipelineOptions
import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="Z:\DEV\CREDENTIALS\cred.json"
QUERY="""
SELECT column01 from project-x:table01.dataset01
"""
options = {'project': 'project-x',
'runner': 'DirectRunner',
'region': 'EU'
}
pipeline_options = beam.pipeline.PipelineOptions(flags=[], **options)
pipeline=beam.Pipeline(options=pipeline_options)
BQ_source = beam.io.BigQuerySource(query = QUERY)
BQ_data = pipeline | beam.io.Read(BQ_source)
Поэтому после выполнения я ничего не получаю.... Я думаю, что это какая-то основная проблема, но я только начал и очень хотел бы увидеть некоторые результаты. Спасибо за любую помощь.
1 ответ
Есть 1 ошибка, и у меня есть 1 совет. Ошибка: Формат from - это проект:dataset.Table - это устаревший SQL.
Совет: предпочитайте стандартный SQL для возможности использовать все новые функции BigQuery! Из формата is `project.dataset.table` Обратная цитата обязательна. И установите опцию legacy=off в луче.