hive
anickname
专注大数据技术
展开
-
hive学习之一:认识hive
有些时候总感觉对某个概念,某项技术理解的不够深,理解的不到位,其实是自己站的高度不够高。抛开具体的技术细节不谈,多想想设计的初衷,多想想为什么,收获颇丰。以下是我对hive的一些思考,在此做个记录,不对的地方,还请指正。一.认识hivehive一个数据仓库工具,不同于数据库。数据仓库注重于数据分析(OLAP)和历史数据存储,面向主题,而数据库则是面向事务(OLTP),存储在线交易数原创 2016-03-15 11:12:50 · 1262 阅读 · 0 评论 -
hive学习之五:java通过zookeeper获取active namenode地址。
在项目开发前期,使用jdbc访问hive数据仓库,在配置文件配置active namenode的地址信息,上线的时候才发现如果namenode宕机了,程序将无法运行。后来改成通过zookeeper获取active namenode地址,这样即使namenode宕机了,也能通过zookeeper获取备机地址从而不影响程序运行。记录下代码:package cp.app.preproce...原创 2018-05-22 11:43:07 · 5674 阅读 · 7 评论 -
hive学习之二:hive sql使用总结及遇到的问题
1.hive在连接中不支持不等值连接,不支持or,where条件后不支持子查询。分别举例如下及实现解决办法。 1.1.不支持不等值连接 错误:select * from a inner join b on a.id 替代方法:select * from a inner join b on a.id=b.id and a.id is null; 1.2.不原创 2016-05-12 09:06:31 · 17324 阅读 · 0 评论 -
hive学习之三:项目中的hive优化实践
1.小表放入内存,在map端join,并不是所有聚合操作都在reducer端操作,慎重使用mapjoin,一般行数小于2000行,大小小于1M2.hive.groupby.skewindata变量从上面groupby语句可以看出,这个变量是用于控制负载均衡的。当数据出现倾斜时,如果该变量设置为true,那么Hive会自动进行负载均衡。当该变量设为 true时候,不可以使用distinct原创 2016-05-17 21:37:49 · 1363 阅读 · 0 评论 -
hive学习之四:hive文件格式以及压缩编码
1。文件格式及压缩编码 当前hive版本支持的编码类型: set io.compression.codecs; org.apache.hadoop.io.compress.GzipCodec,--压缩后不可分割 org.apache.hadoop.io.compress.DefaultCodec,--默认 org.apache.hadoop.io.compress.Snappy...原创 2018-05-22 11:42:48 · 4745 阅读 · 0 评论 -
hive学习之六:row_number()排序函数的使用
在hive中经常需要使用到排序,hive中的排序函数有多种,可在相关文档中查阅具体的使用方法,在项目中用到了row_number()来做排序。简单的用法在这里就不做赘述了,项目具体需求如下:表tbl_custinfo结构如下create table tbl_custinfo(custno string,--客户号acctno string,--账号cardno str原创 2016-12-06 21:41:50 · 21970 阅读 · 5 评论 -
Hive访问权限控制
hive有两种类型的权限控制方式:一。通过Hcatcalog API访问hive数据的方式,实际是通过访问metastore元数据的形式访问hive数据,这类有MapReduce,impala,pig,Spark SQL,hive Command line等方式,基于这种方式的权限控制称为:Storage Based Authorization in the Metastore Server。...原创 2018-07-18 16:03:52 · 6262 阅读 · 0 评论