通过Spark.submit运行pyspark代码的问题,但Jupyter笔记本没有



我的pyspark代码遇到问题。代码的目的是解码十六进制值并将其写入字段。代码在jupyter环境中运行得非常好。但是,当它作为spark.submit运行时,它完成得很好,但所需的字段为null(换句话说,没有解码(。

有人知道这样的问题吗?如果代码在Jupyter笔记本中运行良好,但你做了一个spark.submit,那么它就不起作用了。

感谢任何投入。

以下是在Jupyternotebook中正常工作的代码。代码正在遍历行并应用一个函数。

df = (df
.rdd
.map(lambda row: sql.Row(
**row.asDict(),  
dec_spec=split_spec(row))  
)
.toDF()
)

现在,当我通过spark.submit运行时,它会出现语法错误。请参阅下面的p请参阅asDict 后面逗号处的插入符号

>      df=df.rdd.map(lambda row:sql.Row(**row.asDict(),dec_spec=split_spec(row))).toDF()
^
>     SyntaxError: invalid syntax
>     20/12/16 09:59:56 INFO ShutdownHookManager: Shutdown hook called

问题是由于运行jupyter和spark.submit的python版本不同。

这些配置使得最初很难弄清楚。

最新更新