Python 属性错误:';非类型';对象没有属性'_jvm';将sql函数作为默认参数传递时
我知道以前也有人问过这个错误,但在和中,这些错误是由于在Python 属性错误:';非类型';对象没有属性'_jvm';将sql函数作为默认参数传递时,python,python-3.x,pyspark,apache-spark-sql,pyspark-sql,Python,Python 3.x,Pyspark,Apache Spark Sql,Pyspark Sql,我知道以前也有人问过这个错误,但在和中,这些错误是由于在udf中使用pyspark.sql函数引起的。这不是我正在做的 有问题的代码是以下函数定义(如果我删除默认参数,我的代码将运行并通过所有测试) 我主要是寻找这段代码产生与其他示例中相同错误的原因 编辑: 由于工作原因,我无法共享原始代码,但是如果使用spark submit--deploy mode cluster运行前面的代码,则会产生以下错误 LogType:stdout Log Upload Time:Fri Mar 09 16:01
udf
中使用pyspark.sql
函数引起的。这不是我正在做的
有问题的代码是以下函数定义(如果我删除默认参数,我的代码将运行并通过所有测试)
我主要是寻找这段代码产生与其他示例中相同错误的原因
编辑:
由于工作原因,我无法共享原始代码,但是如果使用spark submit--deploy mode cluster
运行前面的代码,则会产生以下错误
LogType:stdout
Log Upload Time:Fri Mar 09 16:01:45 +0000 2018
LogLength:343
Log Contents:
Traceback (most recent call last):
File "temp.py", line 3, in <module>
def apply_filter(df, group=F.lit(True)):
File "/mnt/yarn/usercache/hadoop/appcache/application_1520603520946_0005/container_1520603520946_0005_01_000001/pyspark.zip/pyspark/sql/functions.py", line 40, in _
AttributeError: 'NoneType' object has no attribute '_jvm'
End of LogType:stdout
LogType:stdout
日志上传时间:2018年3月9日星期五16:01:45+0000
对数长度:343
日志内容:
回溯(最近一次呼叫最后一次):
文件“temp.py”,第3行,在
def应用过滤器(df,组=F.lit(真)):
文件“/mnt/thread/usercache/hadoop/appcache/application_1520603520946_0005/container_1520603520946_0005_01_000001/pyspark.zip/pyspark/sql/functions.py”,第40行_
AttributeError:“非类型”对象没有属性“\u jvm”
日志类型结束:标准输出
有趣的是,如果在本地运行,错误不会持续 无法实例化spark上下文时会发生此错误。当您在
UDF
中使用pyspark sql函数时,您试图在其中实例化一个spark上下文,这是不允许的
spark上下文无法实例化可能有几个原因
- 火花不良配置
- 冲突节点配置
- 部署与集群配置不匹配的jar
apply\u filter
函数?这与问题无关,因为这些错误是由于仅定义函数引起的。
LogType:stdout
Log Upload Time:Fri Mar 09 16:01:45 +0000 2018
LogLength:343
Log Contents:
Traceback (most recent call last):
File "temp.py", line 3, in <module>
def apply_filter(df, group=F.lit(True)):
File "/mnt/yarn/usercache/hadoop/appcache/application_1520603520946_0005/container_1520603520946_0005_01_000001/pyspark.zip/pyspark/sql/functions.py", line 40, in _
AttributeError: 'NoneType' object has no attribute '_jvm'
End of LogType:stdout