pyspark使用lambda => SyntaxError:语法无效

时间:2017-03-04 02:52:23

标签: apache-spark lambda pyspark

我是一个使用火花的新人。 当我尝试输入时,没关系

counts = lines.flatMap(lambda line: line.split(" "))

但是当我添加这一行

 counts = lines.flatMap(lambda line: line.split(" ")).map(lambda word => (word,1))
有些问题发生了,我不知道为什么我的火花不支持lambda字符" =>"。

 File "<stdin>", line 1

counts = lines.flatMap(lambda line: line.split(" ")).map(lambda word => (word,1))
                                                                     ^
SyntaxError: invalid syntax

任何人都可以帮助我吗?非常感谢提前!

1 个答案:

答案 0 :(得分:0)

我很抱歉这个傻瓜问题。 因为我是火花和斯卡拉的初学者。

现在,答案就是这样。

counts = lines.flatMap(lambda line: line.split(" "))
counts = lines.flatMap(lambda line: line.split(" ")).map(lambda word => (word,1))

我们可以看到counts是一个变量,但没有varval,这意味着它们是带有spark的python语言。 但是,在第二行中,它使用了=>,它总是在scala编程中使用。 如果我们将=>更改为:,则可行!