我对 spark 比较陌生,当我在导入 pyspark 函数后尝试使用 python 的内置 round() 函数时遇到了一个问题。这似乎与我如何导入 pyspark 函数有关,但我不确定有什么区别或为什么一种方式会导致问题而另一种方式不会。
预期行为:
import pyspark.sql.functions
print(round(3.14159265359,2))
>>> 3.14
Run Code Online (Sandbox Code Playgroud)
意外行为:
from pyspark.sql.functions import *
print(round(3.14159265359,2))
>>> ERROR
AttributeError Traceback (most recent call last)
<ipython-input-1-50155ca4fa82> in <module>()
1 from pyspark.sql.functions import *
----> 2 print(round(3.1454848383,2))
/opt/spark/python/pyspark/sql/functions.py in round(col, scale)
503 """
504 sc = SparkContext._active_spark_context
--> 505 return Column(sc._jvm.functions.round(_to_java_column(col), scale))
506
507
AttributeError: 'NoneType' object has no attribute '_jvm'
Run Code Online (Sandbox Code Playgroud)