数据来源于区域轨道交通AFC数据,暂时采用一个月数据做测试,大约2.4G,使用UDF函数非常方便快速。
在idea里编写一个自定义UDF程序实现时间格式转换,部分代码如下
所需的UDF依赖包:hive.exec.*.jar(在 hive/lib 目录下)
程序要继承 UDF,作为UDF的子类
定义的方法名一定只能是evaluate
输入与输出的时间格式 :月份要大写MM 小时也要大写 HH
否则会出现这种格式:Mon Jan 01 06:24:45 CST 2018 或者 2018-24-
将程序打包成jar包加载至hive中
add jar /opt/hive/UDF.jar
jar在本地的存放路径
加载自定义函数进行日期转换
Create temporary function datetest(自定义的函数) as ‘com.cdu.ed.UDFTest’(包名.类名)
使用自定义的函数进行格式转换
Select datetest(recivetime)