apache-spark - 通过 Spark.submit 但不是 Jupyter-notebook 运行 pyspark 代码的问题
问题描述
我的 pyspark 代码遇到问题。代码的目的是解码十六进制值并将其写入字段。代码在 jupyter 环境中运行良好。但是当它作为 spark.submit 运行时,它完成得很好,但所需的字段是空值(换句话说,没有解码)。
有人知道这样的问题吗?代码在 Jupyter 笔记本中完美运行的地方,但是你做了 spark.submit ,那么它就不会工作。
任何输入表示赞赏。
下面是在 Jupyternotebook 中正常工作的代码。代码正在遍历行并应用函数。
df = (df
.rdd
.map(lambda row: sql.Row(
**row.asDict(),
dec_spec=split_spec(row))
)
.toDF()
)
现在,当我通过 spark.submit 运行时,它会出现语法错误。请看下面 请看 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 造成的。
这些配置使最初很难弄清楚。
推荐阅读
- c++ - 有像“pthread_getcancelstate”这样的函数吗?
- java - 如何在 JAVA 中实现瓦片无缝算法?
- windows - 批量连接视频对
- c# - AcquireTokenByAuthorizationCode 在使用 Azure Active Directory 的 ASP.NET MVC 的单租户应用程序中引发新异常
- knockout.js - Knockout Sortables、Draggables 和 Droppables - 在 droppables 之间移动的问题
- javascript - 格式化 hAxis 到日期 - Google Chart
- azure-data-factory - 是否存在数据工厂需要成为 Azure 订阅所有者的情况?
- postgresql - 将 psql 转储恢复到另一个(新)数据库名称 -d/--dbname 和 -f/--file 不能一起使用
- jquery - 如何通过ajax将JQuery Datatable与列表绑定
- python-3.x - 在服务器上选择第二个 GPU