text=sc.textFile("long")
RDD20172630=text.flatMap(lambda line : line.split()).map(lambda word : (word,1)).reduceByKey(lambda c1, c2 : c1 + c2)
print RDD20172630.sortByKey(ascending=True).collect()
print RDD20172630.map(lambda (w,c): (c,w)).sortByKey(ascending=False).collect()
此代码的结果显示为错误,如下所示:
File "<ipython-input-1-14309b0de61d>", line 3
print RDD20172630.sortByKey(ascending=True).collect()
^
SyntaxError: invalid syntax
有人可以帮助我解决这个问题吗?
答案 0 :(得分:0)
您正在以Python 2.x样式进行编码,但解释器为3.x。
您应该重构代码,使其与3.x兼容。我不建议降级您的Python版本as Python 2.7 is reaching end of life/support soon
如果(出于某种原因)您希望代码同时在Python 2.x和3.x上运行,请考虑在文件开头添加以下行:
from __future__ import print_function
然后将您的print
语句全部更改为print
个调用:
print(RDD20172630.sortByKey(ascending=True).collect())
print(RDD20172630.map(lambda (w,c): (c,w)).sortByKey(ascending=False).collect())
请注意,以上解决方案专门针对您的SyntaxError
,您可能仍会遇到运行时失败,请参考porting guide以获取更多帮助。