繁体   English   中英

为什么这个python代码在pyspark中工作但不在spark-submit中?

[英]Why does this python code work in the pyspark but not in spark-submit?

我对python缺乏经验,而且我无法运行一些代码。

counts = {key:len(list(group)) for key, group in it.groupby(sorted(topics))}

该行将在pyspark (交互模式)中运行,但如果我尝试pyspark spark-submit它,我会得到一个SyntaxError异常。 以下代码是等效的,并且在两种情况下都运行:

counts = {}
for key, group in it.groupby(sorted(topics)):
    counts[key] = len(list(group))

谁能告诉我为什么第一个代码在spark-submit中不起作用。 如果它有所不同,代码将在函数1选项卡中执行。

我使用字典理解的例外:

Traceback (most recent call last):
  File "./sessions.py", line 24, in <module>
    execfile("./sessionSearch.py")
  File "./sessionSearch.py", line 50
    counts = {poop:len(list(group)) for poop, group in it.groupby(sorted(topics))}
                                      ^
SyntaxError: invalid syntax

您的群集运行Python 2.6,它不支持字典理解语法。

使用生成器表达式和dict()函数(请参阅Python 2.7之前的dict理解的替代方案 ),或者配置集群以部署Python 2.7

使用dict()你的行将是:

counts = dict((key, len(list(group))) for key, group in it.groupby(sorted(topics)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM