簡體   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