如何使用Apache Beam处理org.apache.spark.sql.Dataset?

时间:2019-02-12 05:01:19

标签: apache-spark-sql apache-beam

我想处理从Apache.beam从spark.sql(“ query”)检索的org.apache.spark.sql.Dataset对象中的数据。 但是我无法直接将PTransform应用于此数据集。现在,我正在使用一种解决方案,其中将数据集转储到txt文件中,然后使用Beam处理它。 有什么方法可以将Dataset / JavaRDD直接消费到射线束(Ptransform)中?

我正在使用Apache Beam 2.9.0。

1 个答案:

答案 0 :(得分:0)

据我所知,您现在无法将数据集消费到Beam中。数据集是Spark的API,它与Spark内部实现结合在一起。因此,您无法启动Spark作业,只能运行一步,然后再由Beam接管。

您的方法是连接两个不同系统管道的正确方法。即使对于同一类型系统的管道,数据共享通常也是连接不同管道的唯一方法。

有一种方法可以使Spark on Beam正常工作,即自动从Spark代码生成Beam代码。它在开源世界中不存在,但是您可以从LinkedIn的实践中阅读一些信息:https://engineering.linkedin.com/blog/2019/01/bridging-offline-and-nearline-computations-with-apache-calcite