我正在尝试使用PySpark在外部jar中导入类,我使用--jars和包含我想要使用的类的jar的路径运行spark-shell。
但是,当我在代码中导入一个类时,找不到命名空间:
from io.warp10.spark import WarpScriptFilterFunction错误:
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Traceback (most recent call last):
File "warp10-test.py", line 1, in <module>
from io.warp10.spark import WarpScriptFilterFunction
ImportError: No module named warp10.spark发布于 2019-06-13 00:17:37
如果要在Spark上运行warpscript,则必须使用WarpScript™UDF。
下面是一个示例:
from pyspark.sql import SparkSession
from pyspark.sql import SQLContext
from pyspark.sql.types import StringType
from pyspark.sql.types import ArrayType
spark = SparkSession.builder.appName("WarpScript Spark Test").getOrCreate()
sc = spark.sparkContext
sqlContext = SQLContext(sc)
sqlContext.registerJavaFunction("foo", "io.warp10.spark.WarpScriptUDF3", ArrayType(StringType()))
print sqlContext.sql("SELECT foo('SNAPSHOT \"Easy!\"', 3.14, 'pi')").collect()有关更多信息,请参阅:https://www.warp10.io/content/05_Ecosystem/04_Data_Science/06_Spark/02_WarpScript_PySpark
https://stackoverflow.com/questions/56475608
复制相似问题