我正在将一个函数的输出发送到另一个函数。
hail(0.75)
主要功能是2行以上。 Df1非常大,所以如果我收集驱动程序,它会给出内存或gc问题。 有哪些方法可以将一个函数的输出发送到另一个函数?
答案 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/