scala> val res=lines.map(lambda x :x.split(","))map(lambda x :x[0])
<console>:1: error: ')' expected but '(' found.
val res=lines.map(lambda x :x.split(","))map(lambda x :x[0])
^
<console>:1: error: ';' expected but ')' found.
val res=lines.map(lambda x :x.split(","))map(lambda x :x[0])
^
看来看去还是不明白是哪里有问题
后面的map前面少了.吧
以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
这段代码是Python的语法,而不是Scala的语法。在Scala中,可以使用匿名函数或者函数字面量来替代Python中的lambda表达式。下面是一个示例代码,使用Scala的函数字面量来实现类似的功能:
val lines = List("a,1", "b,2", "c,3")
val res = lines.map(x => x.split(",")(0))
这个代码使用了Scala中的List和map函数,将每个字符串按逗号分割后取第一个元素,得到一个包含字符串"a"、"b"和"c"的List。
另外,如果你在使用Spark的话,可以使用Spark提供的函数来实现相同的功能,例如:
val lines = sc.parallelize(List("a,1", "b,2", "c,3"))
val res = lines.map(_.split(",")(0))
这个代码使用了Spark中的parallelize函数,将List转换为RDD,然后使用map函数将每个字符串按逗号分割后取第一个元素。