Apache Beam本地Jupyter报Series无append属性错误(与Colab差异)
解决Apache Beam触发的
AttributeError: type object 'Series' has no attribute 'append'错误 问题背景
参照Cloud AI and Analytics频道教程编写的Apache Beam基础管道代码可在Google Colab正常运行,但在本地VSCode的Jupyter Notebook中,未调用run函数就触发上述错误。代码未直接使用Pandas,错误栈显示问题源于Apache Beam内部调用Pandas Series的append方法失败,推测是本地Pandas版本(如2.0.0预发布版)不兼容导致。
代码示例:
import apache_beam as beam grocery = (p1 | "Read From Text" >> beam.io.ReadFromText(file, skip_header_lines=1) | "Convert to uppercase" >> beam.Map(lambda record: record.upper()) | 'Write to Text' >> beam.io.WriteToText('/concent/grocery_upper.txt'))
解决方案
确认版本不兼容:Pandas 2.0及以上版本正式移除了
Series.append()方法,而旧版Apache Beam的内部实现依赖该方法。执行以下命令查看本地Pandas版本:pip show pandas若版本为2.0+,即可确认是版本冲突问题。
降级Pandas到兼容版本:安装Apache Beam官方支持的Pandas 1.x系列版本,执行:
pip install pandas<2.0验证修复并重置依赖(可选):重新启动Jupyter Notebook运行代码,若仍有问题,可强制重新安装Apache Beam以确保依赖匹配:
pip install --force-reinstall apache-beam
内容的提问来源于stack exchange,提问作者Matthew
相关产品推荐
相关产品推荐

