gpt4 book ai didi

输入参数为 Map 类型的 Java Spark UDF

转载 作者:可可西里 更新时间:2023-11-01 15:48:42 28 4
gpt4 key购买 nike

我的 Hive 表结构如下 -

create table sessionize_data (
ip string
cookie string
userid string
dattime string
timestamp bigint
referrer string
request string
useragent string
absoluteips string
xff string
calltype string
url string
unique_visitor string
referrer_url string
referrer_dqp map<string,string>
dqp map<string,string>
params map<string,string>
events_subcategory map<string,string>
session_id string
source string
dwelltime string
traffic string
viewdate string );

现在我想将 spark UDF 中的 params map 列作为参数传递 - 我使用以下代码完成了 -

spark.udf().register("populateUrl",
new UDF3 < HashMap < String, String > , String, String, HashMap < String, String >> () {
private static final long serialVersionUID = 1 L;
@Override
public HashMap < String, String > call(HashMap < String, String > params, String url_type, String source)
throws Exception {
// some operation here
return params;
}
}, DataTypes.StringType);

当我使用上面的代码时,它给出了 Map 类型的类型错误。谁能建议如何构建接受 map 类型列并返回 map 类型列的 JAVA spark udf。谢谢。

最佳答案

根据_Spark SQL Programming Guide MapType 的外部类型是 java.util.Map 所以你应该实现:

UDF3<java.util.Map<String, String>, String, String, java.util.Map<String, String>>

关于输入参数为 Map 类型的 Java Spark UDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53880739/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com