我有一些高度定制的处理逻辑,我想用c实现。hadoop流使我能够将c编码的逻辑集成到mapreduce处理管道中。我想知道我是否可以用apachespark做同样的事情。
7rfyedvj1#
最接近的(但不是完全等效的)解决方案是 RDD.pipe 方法:将管道元素创建的rdd返回到分叉的外部进程。通过对每个分区执行一次给定的进程来计算得到的rdd。每个输入分区的所有元素都以输入行的形式写入进程的stdin,输入行之间用换行符隔开。生成的分区由进程的stdout输出组成,每行stdout生成输出分区的一个元素。即使是空分区也会调用进程。打印行为可以通过提供两个功能来定制。spark测试套件提供了许多使用示例。
RDD.pipe
1条答案
按热度按时间7rfyedvj1#
最接近的(但不是完全等效的)解决方案是
RDD.pipe
方法:将管道元素创建的rdd返回到分叉的外部进程。通过对每个分区执行一次给定的进程来计算得到的rdd。每个输入分区的所有元素都以输入行的形式写入进程的stdin,输入行之间用换行符隔开。生成的分区由进程的stdout输出组成,每行stdout生成输出分区的一个元素。即使是空分区也会调用进程。
打印行为可以通过提供两个功能来定制。
spark测试套件提供了许多使用示例。