【发布时间】:2018-01-05 14:09:43
【问题描述】:
我有一个包含列的 Hive 表“log_data”:
“User_Agent”(User_Agent 示例:“Mozilla/5.0(兼容;Googlebot/2.1;+http://www.google.com/bot.html)”)和列城市。
我应该写 UDAF 函数parsed_user_agent 使用如下 -
SELECT city, parsed_user_agent(User_Agent) group by city
在结果中,我应该从 User_Agent(操作系统、浏览器和设备)获取每个城市的信息。
具体来说,我应该使用由 AbstractGenericUDAFResolver.class 扩展的类。
- 问题。我不知道如何实现这个逻辑,但我知道如何解析用户代理,我不知道如何处理输入(字符串用户代理)和输出(操作系统、浏览器和设备的结构)。
【问题讨论】:
-
你能把你的代码贴在这里吗?
-
真的,我没有代码实现,因为我不知道如何使用输入(用户代理)和输出(操作系统、浏览器、设备)。我只知道如何解析用户代理。但是我的实现例子很少,但是很容易。它只有一个输出参数blog.dataiku.com/2013/05/01/…
-
两天之内我也将练习使用hive函数为UDAF创建jar。
-
我认为我应该创建三张地图。 Map
一个用于浏览器的地图 第二个用于 OS 第三个用于设备。键 - (操作系统、设备、浏览器)的名称 值 - 在城市中使用的计数。最后我得到了最大价值的钥匙 -
@ArifMustafa,这很简单,但我找不到实施所需的信息
标签: java hive user-defined-functions user-agent