Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 属性错误:';非类型';对象没有属性'_jvm';将sql函数作为默认参数传递时_Python_Python 3.x_Pyspark_Apache Spark Sql_Pyspark Sql - Fatal编程技术网

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