如何解决类型错误:预期的字节数,找到 str [while running 'Writing to DB/ParDo(_WriteToRelationalDBFn),同时使用beam-nuggets写入数据库
@mohaseeb
我正在尝试以下示例将数据从 pub\sub 写入 postgresql。在将 pub\sub 数据写入 postgresql 时出现以下错误。 “/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/result.py”,第 545 行,在 _colnames_from_description colname = description_decoder(colname) TypeError:预期字节,str found [while running 'Writing to DB /ParDo(_WritetoRelationalDBFn)-ptransform-74904']
你能帮忙解决一下吗。
months = p | "Reading month records" >> beam.Create([
{'name': 'Jan','num': 1},{'name': 'Feb','num': 2},])
months | 'Writing to sqlite table' >> relational_db.Write(
source_config=relational_db.sourceConfiguration(
drivername='sqlite',database='/tmp/months_db.sqlite',create_if_missing=True
),table_config=relational_db.TableConfiguration(
name='months',create_if_missing=True```
解决方法
很难从您发布的代码片段中判断 _WriteToRelationalDBFn
在做什么,但我认为您需要将记录列名称从 str 类型转换为字节,例如:column_name = column_name.encode()
>
这个好像跟pg8000的版本有关。试试pip install pg8000==1.16.5
。看起来像是在 1.16.6 中引入了重大更改。可在此处找到更多详细信息:https://github.com/sqlalchemy/sqlalchemy/issues/5645
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。