pyspark.sql.utils.AnalysisException: No handler for UDF/UDAF/UDTF 'org.apache.hadoop.hive.ql.udf.generic.GenericUDAFHistogramNumeric': java.lang.NoSuchMethodException: org.apache.hadoop.hive.ql.udf.generic.SimpleGenericUDAFParameterInfo.<init>([Lorg.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;, boolean, boolean); line 4 pos 29
当我尝试在Spark SQL中使用Hive中的histogram_numeric时,我得到了上面的错误。
我已经包含了相关的hive-exec jar,启用了hive支持,我开始怀疑目前是否不支持这一点。
配置单元版本: 3.1.2 Spark版本: 3.0.0
如果有人在Spark 3.0.0中注册Hive UDAF时有一个适用于他们的简单代码片段,那也会非常有用
发布于 2020-09-25 22:09:30
我试着通过hiveCtx.udf.registerJavaUDAF注册hive uadf,但是没有成功。
hiveCtx.udf.registerJavaUDAF("histogram_numeric", "org.apache.hadoop.hive.ql.udf.generic.GenericUDAFHistogramNumeric")实现"histogram_numeric“的配置单元类就在那里,但它不符合spark的JavaUADF接口。
但是我发现dataframe的selectExpr的代码是有效的。我也不知道原因。
users_spark_df.selectExpr('histogram_numeric(age, 2)')https://stackoverflow.com/questions/63922269
复制相似问题