2017-03-04 44 views
-1

我是一個新的使用火花。 當我嘗試輸入這個,這是確定pyspark使用lambda => SyntaxError:無效的語法

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

但是,當我加入這行

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

一些問題發生,我不知道爲什麼我的簡化版,火花支持拉姆達字符「=>」。

File "<stdin>", line 1 

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

任何人都可以幫到我嗎?提前感謝!

回答

0

對不起,我把這個愚蠢的問題。 因爲我是火花和斯卡拉的初學者。

現在,這裏是答案。

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

正如我們所看到的counts是一個變量,但沒有varval,這意味着它們有火花Python語言。 但在第二行中,它使用了總是在scala編程中使用的=>。 如果我們將=>更改爲:,它可以正常工作!

相關問題