摘要: UDF函数实现一行输入对应一个输出。 在Hive中提供了时间格式到时间戳的转换,但是对于特殊的时间格式需要做一个预处理。比如"31/Aug/2015:00:04:37 +0800" 这种形式,需要将它解析成可以识别的时间格式,而且要去掉首尾的双引号 package com.rabbit.hadoop 阅读全文
posted @ 2019-03-18 18:51 Rabbit624 阅读(976) 评论(0) 推荐(0) 编辑
摘要: Hive中自带有 join 语法,但是想用mr程序来自己实现一下 join 语法,巩固一下对mr的理解。 比如: 有一个用户表 ,有三个字段: userId,userName,address 有一个订单表,有四个字段:userId,orderId,categoryId,price 用户信息: 100 阅读全文
posted @ 2019-03-18 17:30 Rabbit624 阅读(686) 评论(0) 推荐(0) 编辑
摘要: mr会自动对key按字典序排序,而不会对value排序。如果想对value进行排序,就要自己手动写逻辑来实现针对value的二次排序。 比如有这样一个文件: a 1b 3a 5d 10a 4b 8d 9c 2b 5c 1 经过排序后,变成这样: a 1a 4a 5b 3b 5b 8c 1c 2d 9 阅读全文
posted @ 2019-03-18 16:55 Rabbit624 阅读(327) 评论(0) 推荐(0) 编辑
摘要: package com.rabbit.hadoop.mapreduce; import java.io.IOException;import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration;import o 阅读全文
posted @ 2019-03-18 13:04 Rabbit624 阅读(204) 评论(0) 推荐(0) 编辑
摘要: scala的模式匹配类似于 java 的 switch case ,然而又有所不同。scala中不仅可以匹配变量的值,还可以匹配类型。 scala的模式匹配中没有break语句,一旦发现匹配成功就立刻返回,不会有java中case穿透的问题。 但是scala的模式匹配最好写上类似java switc 阅读全文
posted @ 2019-03-18 11:20 Rabbit624 阅读(263) 评论(0) 推荐(0) 编辑