我刚刚开始学习spark和scala。我有一个文件test.txt,其中有一行“我的名字是xyz”。
当我创建rdd并应用flatmap方法时,当我打印它时,我得到-
我的
名称
是
xyz公司
但是当同一行作为字符串传递给flatmap时,它会抛出一个编译器错误“split不是char的成员”
val lines = sc.textFile("C:/test.txt")
val result = lines.flatMap(x => x.split(" "))
result.foreach(println)
val name = "My name is xyz"
val res = name.flatMap(x => x.split(" "))
//println(res)
1条答案
按热度按时间0sgqnhkj1#
这是使用sc,所以是平行的Spark。
这不是Spark。只是斯卡拉,只是一根弦。字符串的下一级是char。
在scala级别,第一种方法的等效方法是至少生成一个字符串数组,该数组近似于sc.textfile读入的一行,然后它就工作了,或者就像他们说的bob's your uncle:
返回(注意','s):