hadoop - 如何使用 Pyspark 从 Hive Context 调用用 Java 编写的 Hive UDF

标签 hadoop apache-spark pyspark apache-spark-sql

我在配置单元中使用 getLastProcessedVal2 UDF 从表中获取最新的分区。这个 UDF 是用 java 编写的。我想通过配置单元上下文使用来自 pyspark 的相同 UDF。

dfsql_sel_nxt_batch_id_ini=sqlContext.sql(''' select l4_xxxx_seee.**getLastProcessedVal2**("/data/l4/work/hive/l4__stge/proctl_stg","APP_AMLMKTE_L1","L1_AMLMKT_MDWE","TRE_EXTION","2.1")''')

错误:

ERROR exec.FunctionRegistry: Unable to load UDF class: java.lang.ClassNotFoundException:

最佳答案

开始你的pyspark壳为:

pyspark --jars /path/to.udf.jar <all-other-param>

使用 --jars 提交您的 pyspark 作业选项为:

spark-submit --jars /path/to/udf.jar <all-other-param>

关于hadoop - 如何使用 Pyspark 从 Hive Context 调用用 Java 编写的 Hive UDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38491483/

相关文章:

pyspark - 使用 Pyspark 将不同的行值转换为具有相应行的不同列

python - PySpark:根据与另一列中的字符串匹配的字典值创建新列

apache-spark - 如何为所有用户推荐 Spark ALS 的 10 大产品?

r - Sparklyr copy_to 失败

scala - 如何在不同大小的数组列中随机选择元素?

hadoop - 无法连接到 EMR 上的 Spark UI

scala - Spark/Scala 拆分

UDAF 与 Spark 中聚合器的性能

java - 运行 Hadoop 示例 Jar

apache - 使用Hadoop 2.4.1时Oozie 4.0.1构建错误