1

我在项目的大查询中有数据集:项目:project-x 表:table01 数据集: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)

所以执行后我什么也没得到......我认为这是一些基本问题,但我刚刚开始并且真的很想看到一些结果。谢谢你的帮助。

4

1 回答 1

1

有 1 个错误,我有 1 个建议 错误:来自格式是 project:dataset.Table 是旧版 SQL。

建议:更喜欢标准 SQL 以便能够使用所有新的 bigquery 功能!From Format is `project.dataset.table` 需要反引号。并在梁中设置选项 legacy=off。

于 2019-08-17T18:30:24.023 回答