如何在Spark中将一个函数的输出传递给另一个函数

时间:2016-01-16 14:29:30

标签: apache-spark garbage-collection driver

我正在将一个函数的输出发送到另一个函数。

hail(0.75)

主要功能是2行以上。 Df1非常大,所以如果我收集驱动程序,它会给出内存或gc问题。 有哪些方法可以将一个函数的输出发送到另一个函数?

1 个答案:

答案 0 :(得分:1)

Spark可以为您运行数据处理。您不需要中间收集步骤。您应该将所有转换链接在一起,然后在末尾添加操作以将结果数据保存到磁盘。

调用collect()仅用于调试非常小的结果。

例如,您可以执行以下操作:

rdd.map(x => fun1(x))
   .map(y => fun2(y))
   .saveAsObjectFile();

本文可能有助于解释更多相关信息:

http://www.agildata.com/apache-spark-rdd-vs-dataframe-vs-dataset/