首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用beam、python读取具有Avro模式的大查询表

使用beam、python读取具有Avro模式的大查询表
EN

Stack Overflow用户
提问于 2019-07-01 14:01:34
回答 1查看 202关注 0票数 3

我将apache-beam SDK从2.5.0更改为2.12.0,并在使用python从beam中的Big Query中读取表时出现了Avro模式错误。

BQ表有一个时间戳字段,其他字段是字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data = pipe \
        | 'read bigquery' >> beam.io.Read(
            beam.io.BigQuerySource(
                dataset=args.dataset_name,
                table=args.table_name,
                use_standard_sql=True))

错误:

SchemaParseException: Type property "[u'null', {u'logicalType': u'timestamp-micros', u'type': u'long'}]" not a valid Avro schema: Union item must be a valid Avro schema: Currently does not support timestamp-micros logical type

已安装的程序包:

束,apache- python=2.7.0 =2.12.0,avro=1.9.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-01 14:35:11

这是avro 1.9.0中的回归。这个问题的跟踪器在这里:https://issues.apache.org/jira/browse/AVRO-2429

如果你使用的是Python2,你应该可以通过执行pip install "avro==1.8.2"来降级到1.8.2。如果你使用的是Python3,我相信beam应该在默认情况下尝试使用fastavro (这应该不会有你遇到的bug )。

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

https://stackoverflow.com/questions/56837044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文