原始数据8条:
"1" "A" "R" 32 "H" "w" "2017-01-16" 1167 80 0 0 0 1200 0
"2" "A" "E" 67 "L" "b" "2016-06-12" 2488 50 1 1 3 4000 1
"3" "A" "E" 32 "H" "w" "2016-07-13" 2122 98 0 0 1 1500 1
"4" "A" "E" "H" "w" "2016-01-20" 2993 115 0 0 0 3200 1
"5" "A" "s" 22 "R" "b" "2016-08-31" 484 69 0 1 3 800 0
"6" "b" "H" 92 "H" "w" "2016-02-04" 1634 81 0 0 1 3400 1
"7" "A" "E" 76 "H" "w" "2016-06-14" 1127 92 0 0 0 6000 1
"8" "A" "R" 82 "r" "w" "2016-05-30" 196 146 1 3 4 2300 0
处理后的结果数据:
2 ['A','E'] 67 ['L','B'] 2010-06-12 2488 50 {1,1,3} 4000 1
3 ['A','E'] 32 ['H','W'] 2010-07-13 2122 98 {0,0,1} 1500 1
4 ['A','E'] 82 ['H','W'] 2010-01-20 2993 115 {0,0,0} 3200 1
5 ['A','S'] 22 ['R','B'] 2010-08-31 484 69 {0,1,3} 800 0
6 ['B','H'] 92 ['H','W'] 2010-02-04 1634 81 {0,0,1} 3400 1
7 ['A','E'] 76 ['H','W'] 2010-06-14 1127 92 {0,0,0} 6000 1
8 ['A','R'] 82 ['R','W'] 2010-05-30 196 146 {1,3,4} 2300 0
原数据说明:
原数据总共8行14列,列与列之间的分隔符是\t键。
第1和7列的双引号去掉,且第7列的时间大于2017-01-01时,整行数据将被过滤掉。
第2、3、5、6列的双引号变成单引号,小写变大写,第2、3列组成字符数组,第5、6列组成字符数组。
第10、11、12列用"{}"括起来。
组成后的每一列之间用" "分割。
项目要求:
1.将Hive外部表加载原始数据到Hive表(用location 指定数据所在目录)
2.使用UDF函数对原始表数据做过滤,过滤结果如上结果数据。
3.将结果数据添加到新的hive表保存!