![](https://img-blog.csdnimg.cn/20190925083758885.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Hive
storm_fury
本是青灯不归客,却因浊酒留红尘
展开
-
构建并生成日期维度数据表
基于 MySQL 生成日期维度数据创建日期维度数据表DROP TABLE IF EXISTS `date_dim`;CREATE TABLE IF NOT EXISTS `date_dim` ( `date_sk` BIGINT ( 20 ) NOT NULL AUTO_INCREMENT, `date` VARCHAR ( 255 ) DEFAULT NULL, `month` VARCHAR ( 255 ) DEFAULT NULL, `month_name` ..原创 2020-07-03 15:45:22 · 939 阅读 · 0 评论 -
Hive 在 Join 查询时报错: Bad status for request TFetchResultsReq ...
异常信息:Bad status for request TFetchResultsReq(fetchType=1, operationHandle=TOperationHandle(hasResultSet=True, modifiedRowCount=None, operationType=0, operationId=THandleIdentifier(secret='\xff\xe1\...原创 2019-11-22 14:24:43 · 6437 阅读 · 1 评论 -
Hive 中自定义函数实现墨卡托和经纬度相互转换
package com.cloudera.udf;import org.apache.hadoop.hive.ql.exec.Description;import org.apache.hadoop.hive.ql.exec.UDF;import org.apache.hadoop.io.Text;import java.text.DecimalFormat;/** * 经纬度...原创 2019-10-16 14:34:43 · 457 阅读 · 0 评论 -
Hive 自定义 UDTF 函数
继承org.apache.hadoop.hive.ql.udf.generic.GenericUDTF重写 initialize,process 和 close方法Hive 调用 initialize 方法来确定传入参数的类型并确定 UDTF 生成表的每个字段的数据类型(即输入类型和输出类型。initialize 方法必须返回一个生成表的字段的相应的 StructObjectIns...原创 2019-07-20 12:19:17 · 1130 阅读 · 0 评论 -
从Hive表中导出数据到文件
保存结果到本地方法一:通过重定向方式,将查询结果写到指定的文件中hive -e "SELECT id,concat_ws(',',collect_set(concat(k1,'-',k2,'-',k3))) from test.users GROUP BY id;" > users.data查看[root@node00 ~]# cat users.data 1 a1-a2-...原创 2019-07-19 23:21:42 · 23609 阅读 · 2 评论 -
利用 JsonSerde 为 复杂 JSON 格式数据创建 Hive 表结构
配置java,maven等环境变量java:export JAVA_HOME=/usr/local/javaexport PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar:$CLASSPATHmaven:export MVN_HOME=/usr/local...原创 2019-06-27 23:56:39 · 1022 阅读 · 0 评论 -
Hive 利用 JsonSerde 处理 JSON 格式数据
JsonSerde 的 github 地址:https://github.com/rcongiu/Hive-JSON-SerdeJsonSerde 的 jar下载地址:http://www.congiu.net/hive-json-serde/原创 2019-06-27 23:21:41 · 6593 阅读 · 0 评论 -
CDH 中配置Hive 的辅助 JAR 目录
在 HiveServer2 所在的机器上创建 /etc/hive/auxlib 目录[root@cdh01 hive]# hostnamecdh01.cnyimi.cn[root@cdh01 hive]# pwd/etc/hive[root@cdh01 hive]# ll总用量 0drwxr-xr-x 2 root root 6 6月 26 21:52 auxliblrw...原创 2019-06-27 08:52:23 · 4198 阅读 · 1 评论 -
Hive 性能调优
Join 优化大表放右边,小表放左边。多个表关联时,最好分拆成小段,避免大sql大表 join 大表可采用 空 key 过滤、空key转换随机赋值使用 mapjoin开启 mapjoin 设置:设置自动选择Mapjoin,默认为trueset hive.auto.convert.join = true; 大表小表的阈值设置(默认25M以下认为是小表):set...原创 2019-06-03 10:25:43 · 743 阅读 · 0 评论 -
Hive集合类型Array,Map,Struct的使用
Array创建测试表CREATE TABLE IF NOT EXISTS TEST.test1( id int, name string, hobby ARRAY<String>) COMMENT '用户测试表1' ROW FORMAT delimited fields terminated BY '\t' collection items termi...原创 2019-05-09 16:25:22 · 961 阅读 · 0 评论 -
利用Hive中concat_ws函数将多行记录合并成一行
创建测试表CREATE TABLE IF NOT EXISTS TEST.USERS ( id string, k1 string, k2 string, k3 string) COMMENT '用户表' ROW FORMAT delimited fields terminated BY '\t' STORED AS TEXTFILE;插入测试数...原创 2019-05-09 09:04:54 · 3970 阅读 · 0 评论 -
Hive数据仓库中历史拉链表实践
数据准备在mysql中创建测试表ordersCREATE TABLE `orders` ( `orderid` int(11) NOT NULL AUTO_INCREMENT, `status` varchar(255) NOT NULL, `createtime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `modifiedti...原创 2019-03-21 14:02:56 · 2676 阅读 · 0 评论 -
Hive常用函数 -- 汇总统计函数
个数统计函数: count语法: count(), count(expr), count(DISTINCT expr[, expr_.])返回值: int说明: count()统计检索出的行的个数,包括NULL值的行;count(expr)返回指定字段的非空值的个数;count(DISTINCT expr[, expr_.])返回指定字段的不同的非空值的个数hive> selec...原创 2019-03-12 11:18:00 · 5627 阅读 · 0 评论 -
Hive常用函数 -- 混合函数和XPath 解析 XML 函数
混合函数调用 Java 函数:java_method语法: java_method(class, method[, arg1[, arg2…]])返回值: varies说明: 调用 Java 中的方法处理数据。hive> select java_method("java.net.URLEncoder", "encode", 'http://www.baidu.com',"UTF...原创 2019-03-12 11:06:19 · 5187 阅读 · 0 评论 -
Hive常用函数 -- 复合类型构造函数
map 结构map 构造函数语法:map(k1,v1,k2,v2,…)操作类型:map说明:使用给定的 key-value 对,构造一个 map 数据结构hive> select map('k1','v1','k2','v2') from iteblog;OK{"k2":"v2","k1":"v1"}hive> Create table iteblog as se...原创 2019-03-12 10:41:01 · 6474 阅读 · 0 评论 -
Hive常用函数 -- 字符串函数
首字符ascii函数:ascii语法: ascii(string str)返回值: int说明:返回字符串str第一个字符的ascii码hive> select ascii('abcde') from iteblog;97字符串反转函数:reverse语法: reverse(string A)返回值: string说明:返回字符串A的反转结果hive> s...原创 2019-03-12 09:53:52 · 6154 阅读 · 0 评论 -
Hive常用函数 -- 条件函数和表格生成函数
If函数: if语法: if(boolean testCondition, T valueTrue, T valueFalseOrNull)返回值: T说明: 当条件testCondition为TRUE时,返回valueTrue;否则返回valueFalseOrNullhive&amp;gt; select if(1=2,100,200) from iteblog;200hive&amp;gt; se...原创 2019-03-11 18:59:44 · 1837 阅读 · 0 评论 -
Hive常用函数 -- 日期函数
UNIX时间戳转日期函数: from_unixtime语法: from_unixtime(bigint unixtime[, string format])返回值: string说明: 转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式hive> select from_unixtime(1323308943,'yyyyMMdd...原创 2019-03-11 18:57:37 · 4925 阅读 · 5 评论 -
Hive常用函数 -- 数值计算
数值计算取整函数: round语法: round(double a)返回值: BIGINT说明: 返回double类型的整数值部分 (遵循四舍五入)hive&gt; select round(3.1415926) from iteblog;3hive&gt; select round(3.5) from iteblog;4hive&gt; create table iteblog...原创 2019-03-11 18:54:49 · 5398 阅读 · 0 评论 -
Hive常用函数 -- 类型转换函数和逻辑运算
逻辑与操作: AND语法: A AND B操作类型:boolean说明:如果A和B均为TRUE,则为TRUE;否则为FALSE。如果A为NULL或B为NULL,则为NULLhive&gt; select 1 from iteblog where 1=1 and 2=2;1逻辑或操作: OR语法: A OR B操作类型:boolean说明:如果A为TRUE,或者B为TRUE,或...原创 2019-03-11 18:50:15 · 4742 阅读 · 0 评论 -
Hive常用函数 -- 数学运算
加法操作: +语法: A + B操作类型:所有数值类型说明:返回A与B相加的结果。结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。比如,int + int 一般结果为int类型,而 int + double 一般结果为double类型hive> select 1 + 9 from iteblog;10hive> create table iteb...原创 2019-03-11 18:47:33 · 2716 阅读 · 0 评论 -
Hive常用函数 -- 关系运算
Hive关系运算函数1. 等值比较: =2. 不等值比较: &amp;amp;amp;lt;&amp;amp;amp;gt;3. 小于比较: &amp;amp;amp;lt;4. 小于等于比较: &amp;amp;amp;lt;=5. 大于比较: &amp;amp;amp;gt;6. 大于等于比较: &amp;amp;amp;gt;=7. 空值判断: IS NULL8. 非空判断: IS NOT NULL9. L原创 2019-03-11 18:25:15 · 1986 阅读 · 0 评论 -
Hive 行级更新操作 -- 实现update和delete
在hive执行delete和update操作时,报错FAILED: SemanticException [Error 10294]: Attempt to do update or delete using transaction manager that does not support these operations.操作代码:hive&gt; select * from tablen...原创 2019-01-09 14:37:07 · 16732 阅读 · 4 评论 -
Hive中自定义实现Mysql的substring_index函数
package com.cnyimi.data.hive;import org.apache.hadoop.hive.ql.exec.Description;import org.apache.hadoop.hive.ql.exec.UDF;@Description(name = "substring_index", value = "substring_index(St...原创 2018-12-24 15:21:26 · 6969 阅读 · 0 评论 -
Hive内置函数和自定义函数UDF
1:临时函数a)自定义UDF需要继承org.apache.hadoop.hive.ql.UDF。b)需要实现evaluate函数,evaluate函数支持重载。(注意:在一个库中创建的UDF函数,不能在另一个库中使用 )c)把程序打包放到目标机器上去;d)进入hive客户端,添加jar包:hive&amp;amp;gt;add jar /run/jar/udf_test.jar;e)创建临时函数:hiv...原创 2018-12-24 15:17:35 · 2175 阅读 · 0 评论 -
Hive常用函数
Hive常用函数1. 简单函数2. 聚合函数3. 集合函数4. 特殊函数窗口函数1. 简单函数函数的计算粒度为单条记录。关系运算数学运算逻辑运算数值计算类型转换日期函数条件函数字符串函数统计函数2. 聚合函数函数处理的数据粒度为多条记录。sum()—求和count()—求数据量avg()—求平均直distinct—求不同值数min—求最小值max—求最人值3...原创 2018-11-22 19:03:27 · 2467 阅读 · 0 评论