有关
val rdd = sc.textFile("file.txt")
其中file.txt
包含
Some Informative Header
value1, value11
value2, value22
如何将rdd
分区为
Some Informative Header
value1, value11
和
Some Informative Header
value2, value22
这样我就可以在每个分区上运行rdd.pipe("/bin/awesomeApp")
吗?
注意最终我的awesomeApp
需要作为Some Informative Header
的第一个条目,其余条目可以并行计算。
答案 0 :(得分:0)
您希望它的方式完全需要实现自定义RDD和分区,这不是最简单的任务。因此,如果您灵活选择输出格式,则可以将输入RDD转换为键值1,其中每行的键是标题:
val rdd = sc.textFile("file.txt")
val header = rdd.take(1)
val lines = rdd.drop(1)
val headerRdd = sc.parralelize(0 to lines.count())
headerRdd.zip(lines)