如何在apache梁中使用熊猫?

问题描述 投票:3回答:2

如何在Apache beam中实现Pandas?我无法在多列上执行左连接,而Pcollections不支持sql查询。甚至Apache Beam文档都没有正确构图。我检查过但在Apache光束中找不到任何类型的Panda实现。谁能指引我到想要的链接?

pandas join google-cloud-dataflow apache-beam
2个回答
4
投票

这里有一些混乱。

pandas是“支持”的,因为您可以像使用没有Apache Beam的方式一样使用pandas库,并且只要您指定正确的方法就可以使用Beam管道中的任何其他库。依赖。它也被“支持”,因为它默认捆绑为依赖项,因此您不必自己指定它。例如,您可以编写一个DoFn,使用pandas为每个元素执行一些计算;每个元素的单独计算,由Beam在所有元素上并行执行。

从Apache Beam目前没有提供与它的特殊集成的意义上不支持它,例如你不能使用PCollection作为熊猫数据帧,反之亦然。 PCollection实际上不包含任何数据(对于流管道应该特别清楚) - 它只是Beam执行计划中的占位符节点。

也就是说,类似pandas的API与梁PCollections合作肯定会是一个好主意,并且会简化许多现有pandas用户的学习Beam,但我认为目前没有人正在努力实现这一点。但是,Beam社区目前正在讨论向PCollections添加模式的想法,这是朝这个方向迈出的一步。


0
投票

pandas is supported in the Dataflow SDK for Python 2.x.在写作时,工作人员预先安装了pandas v0.18.1版本,因此您不应该有任何问题。 StackOverflow不接受你要求社区指向外部文档和/或教程的答案,所以也许你应该先自己尝试一个实现,然后再回来看看有关什么是/不是失败的更多信息以及你做了什么在遇到错误之前实现。

在任何情况下,如果您想要实现的是左连接,也许您还可以查看CoGroupByKey转换类型,该类型记录在Apache Beam documentation中。它用于执行几个PCollections与公共密钥类型的关系连接。在同一页面中,您将能够找到一些示例,这些示例使用CoGroupByKeyParDo来连接多个数据对象的内容。

© www.soinside.com 2019 - 2024. All rights reserved.