假设我有一个字符串"Hello, World\nHow are you today?"
我希望sc.parallelize("Hello, World\nHow are you today?").collect()
返回 Array("Hello World", "How are you today?")
相反,它返回一个数组,其中每个字符都是一个单独的元素。
我如何能够用新行而不是按字符并行化字符串?
答案 0 :(得分:3)
在这种特殊情况下,我通常会做类似的事情:
sc.parallelize(myString.split("\n")).collect()
如果你确实已经在内存中有一个大字符串,其中包含换行符。
使用Spark的更常见情况是处理更多的数据,而不是将内存作为blob方便,在这种情况下,如果你有一个包含数据的文件,sc.textFile
会自动使用换行符默认情况下作为分隔符:
sc.textFile("file:///home/user/mydata.txt").collect()
mydata.txt
可能如下所示:
Hello World
How are you today?