如何使用Hive Context中的Pyspark调用用Java编写的配置单元UDF

时间:2016-07-20 21:53:03

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

我在hive中使用getLastProcessedVal2 UDF来从表中获取最新的分区。这个UDF是用java编写的。我想使用hive上下文从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")''')

错误:

  

错误exec.FunctionRegistry:无法加载UDF类:   抛出java.lang.ClassNotFoundException:

2 个答案:

答案 0 :(得分:1)

pyspark shell作为:

启动

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

OR

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

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

答案 1 :(得分:-1)

您可以使用SQLContext方法udf注册该用户定义的函数,您可以看到必须将字符串作为第一个参数传递,它将代表{{1}的名称使用backgroundColor查询时。

e.g。

udf