首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Apache光束/数据流从BigQuery读取数据时使用fastavro

使用Apache光束/数据流从BigQuery读取数据时使用fastavro
EN

Stack Overflow用户
提问于 2020-03-19 21:42:09
回答 1查看 447关注 0票数 0

我的项目运行的是Python2.7(是的,我知道...)Google Dataflow上的Apache Beam 2.19。我们连接到BigQuery的方式与Apache光束教程中指定的方式相同:

代码语言:javascript
复制
p | 'Get data from BigQuery' >> beam.io.Read(beam.io.BigQuerySource(
    query=get_query(limit),
    use_standard_sql=True)))

然而,此管道的读取步骤非常慢-很可能是由于读取.avro文件所致。不过,看起来fastavro似乎并没有真正被使用。AFAIK,当在Python <3.7上运行时,您需要显式设置use_fastavro标志。在这种设置下,这可能吗?或者我需要先手动导出到GCS?

EN

回答 1

Stack Overflow用户

发布于 2020-03-20 02:14:16

您运行的是哪个版本的beam?在beam版本2.6+中,您可以启用use_fastavro,如下所示:

Dataflow Python SDK Avro Source/Sync

如果您使用的是python 3+,那么对于较新的beam SDK,https://github.com/apache/beam/blob/4743e131edadad42555e605be803e26cb37b7ce6/sdks/python/apache_beam/io/avroio.py#L81缺省值为true,但是您仍然可以手动启用它

在之前的python版本中,我没有看到任何关于不设置此设置的警告,所以您可能想试一试,看看这是否有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60758468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档