![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hive
lijie_cq
It's never too old to learn
展开
-
CDH5.4.5手动安装hive-1.1.0-cdh5.4.5
本来想在单节点上面玩玩hive和hbase的整合,结果由于单节点上面的hive和hbase版本不兼容,整合的时候报错:org.apache.hadoop.hbase.HTableDescriptor.addFamily 没有addFamily这个方法,搞了半天还是没搞定,就在5节点上的cdh上来测试,现在cdh上面没有安装hive,所以现在先记录下hive的安装。1.卸载centOS6.5自带的原创 2017-02-15 16:26:32 · 6000 阅读 · 0 评论 -
hbase和hive的相互整合(需要兼容)
也是前几天才知道,hive这玩意可以和hbase整合,就在网上找了些资料,准备用我的单节点试一试,单节点上面安装的apache版本的hbase和hive,导致整合的时候不兼容,一直报错: org.apache.hadoop.hbase.HTableDescriptor.addFamily 找不到addFamily方法,所以只有用cdh的版本了(chd有对应的安装包的版本,兼容好)已经安装hbas原创 2017-02-15 17:50:38 · 2770 阅读 · 0 评论 -
解析HiveSql语句中的所有表名
今天有个需求,解析我们hivesql语句中的表名,用来分析数据仓库中所有表的使用频率。hive中有个语法分析器可以将sql语法转换成语法树,并且可以将语法树转换为字符串。例如一个hive的sql语句如下:select t1.c1,t1.c2,t2.c1 from lijie.table1 t1left join lijie.table2 t2ont1.id = t2.idwhere原创 2016-12-20 21:05:36 · 9248 阅读 · 1 评论 -
获取oracle表的元素据,拼凑hive建表语句以及需要的conf
1.获取建表语句:select t.OWNER,t.COLUMN_ID,t.COLUMN_NAME,' ', 'STRING',' ',concat(concat('COMMENT" ',t2.COMMENTS),'",') as commentnamefrom all_tab_columns t left join all_tab_comments t1on t.OWNER=t1.OWNER原创 2017-01-08 16:00:17 · 2384 阅读 · 0 评论 -
hive的基本优化笔记
hive 优化一. 查看执行计划:explain select * from lijie.test where id = '1';explain extended select * from lijie.test where id = '1';二. 本地化hive.exec.mode.local.auto=false; default三. 设置队列(选取资源丰富的队列)mapred.queue.n原创 2016-10-16 22:19:11 · 620 阅读 · 0 评论 -
hive中的子查询改join操作
这些子查询在oracle和mysql等数据库中都能执行,但是在hive中却不支持,但是我们可以把这些查询语句改为join操作:-- 1.子查询select * from A a where a.update_time = (select min(b.update_time) from A b)-- 2.in操作select * from原创 2016-10-18 19:13:45 · 5574 阅读 · 0 评论 -
hive多表连接带where查询结果插入到新表的优化
在工作中我们经常需要加工表,可能join很多张表然后将最后的结果插入到一个新表里面,如果查询带where语句那么我们可以进行如下优化:例如有如下伪代码,将查询的结果插入APP_NEW表中:insert overwrite table APP_NEWselect a.x1, a.x2, b.x3, b.x4, b.x5, c.x6, c.原创 2016-10-27 21:44:00 · 4697 阅读 · 0 评论 -
hive表在join on上的过滤和在where上过滤的对比
当两张表A和B在join时,条件筛选放在表join时的on上面和放在where上面得到的结果是不一样的。如下创建两张表:A表结构以及数据:id name grade dept1 lijie1 100 102 lijie2 90 203 lijie3 60 104 lijie4 80 105 lijie5 7原创 2016-10-27 21:20:10 · 17223 阅读 · 3 评论 -
hive的row_number()、rank()和dense_rank()的区别以及具体使用
row_number()、rank()和dense_rank()这三个是hive内置的分析函数,下面我们来看看他们的区别和具体的使用案例。首先创建一个文件test:A,1B,3C,2D,3E,4F,5G,6然后创建hive表:create table test_rank(a string,b int) row format delimited fields terminated原创 2016-10-17 20:05:21 · 38014 阅读 · 4 评论 -
hive中rcfile orcfile和parquetfile对比
hive中rcfile orcfile parquet性能对比原创 2016-09-30 14:27:48 · 5455 阅读 · 0 评论 -
hive中构建dual虚表
刚接触到hive的时候想测试有些函数的功能,习惯性的用dual却报错,例如:hive> select 1+1 from dual;FAILED: SemanticException [Error 10001]: Line 1:16 Table not found 'dual'但是我们可以自己构造一个类似于oracle的dual虚表。1.首先创建一个lijie.txt,将X重定向到文件中echo原创 2016-10-25 21:30:21 · 17453 阅读 · 2 评论 -
hive中order by、distribute by、sort by和cluster by的区别和联系
order byorder by 会对数据进行全局排序,和oracle和mysql等数据库中的order by 效果一样,它只在一个reduce中进行所以数据量特别大的时候效率非常低。而且当设置 :set hive.mapred.mode=strict的时候不指定limit,执行select会报错,如下:LIMIT must also be specified.sort bysort by 是单独在原创 2016-10-10 18:33:22 · 8536 阅读 · 3 评论 -
hive的基本使用02
create external table hive_1( name string, age int ) row format delimited fields terminated by ‘,’ stored as textfile;load data [local] inpath ‘/../…txt’ [overwrite] into table hive_1;hi原创 2016-10-09 21:42:03 · 314 阅读 · 0 评论 -
hive的基本使用01
数据类型: 普通:tinyint smalint int bigint boolean float double string timestamp binary 集合:struct map array建表:create table employees( name string, salary float, sub array<string>, de原创 2016-10-09 21:35:52 · 479 阅读 · 0 评论 -
合并hive仓库中小文件
使用lijie库下的test表做实验1.查看hdfs下该表的文件存储:hadoop dfs -ls /user/hive/warehouse/lijie.db/test结果如下: 2.模拟小文件insert into table test select * from test;上面语句执行多次3.合并insert overwrite table test select * from test;没原创 2016-10-09 20:35:27 · 1024 阅读 · 0 评论 -
cm管理器安装的CDH添加HIVE UDF函数,两种方式
1.临时的: 在如下目录下面创建auxlib/etc/hive/auxlib将jar添加到该目录下然后在cm管理器的hive配置文件里面找到: 添加属性: /etc/hive/auxlib在配置文件里面找到: 添加属性:HIVE_AUX_JARS_PATH=/etc/hive/auxlib然后在hive客户端创建临时函数2.永久的:将jar包上传到hdfshadoop dfs -mkdir原创 2017-06-12 16:48:44 · 3912 阅读 · 0 评论