随笔分类 -  hive

转:Hive SQL的编译过程
摘要:Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。 在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区 阅读全文
posted @ 2017-07-13 10:06 无尽的缥缈 阅读(343) 评论(0) 推荐(0)
转:Hive性能优化之ORC索引–Row Group Index vs Bloom Filter Index
摘要:之前的文章《更高的压缩比,更好的性能–使用ORC文件格式优化Hive》中介绍了Hive的ORC文件格式,它不但有着很高的压缩比,节省存储和计算资源之外,还通过一个内置的轻量级索引,提升查询的性能。这个内置的轻量级索引,就是下面所说的Row Group Index。 其实ORC支持的索引不止这一种,还 阅读全文
posted @ 2017-02-16 13:50 无尽的缥缈 阅读(2858) 评论(0) 推荐(0)
转: 更高的压缩比,更好的性能–使用ORC文件格式优化Hive
摘要:Hive从0.11版本开始提供了ORC的文件格式,ORC文件不仅仅是一种列式文件存储格式,最重要的是有着很高的压缩比,并且对于MapReduce来说是可切分(Split)的。因此,在Hive中使用ORC作为表的文件存储格式,不仅可以很大程度的节省HDFS存储资源,而且对数据的查询和处理性能有着非常大 阅读全文
posted @ 2017-02-16 13:43 无尽的缥缈 阅读(1187) 评论(0) 推荐(0)
Parquet与ORC:高性能列式存储格式(收藏)
摘要:背景 随着大数据时代的到来,越来越多的数据流向了Hadoop生态圈,同时对于能够快速的从TB甚至PB级别的数据中获取有价值的数据对于一个产品和公司来说更加重要,在Hadoop生态圈的快速发展过程中,涌现了一批开源的数据分析引擎,例如Hive、Spark SQL、Impala、Presto等,同时也产 阅读全文
posted @ 2016-12-21 18:47 无尽的缥缈 阅读(11059) 评论(1) 推荐(3)
hive中rcfile格式(收藏文)
摘要:首先声明,此文是属于纯粹收藏文,感觉讲的很不错。 本文介绍了Facebook公司数据分析系统中的RCFile存储结构,该结构集行存储和列存储的优点于一身,在MapReduce环境下的大规模数据分析中扮演重要角色。 Facebook曾在2010 ICDE(IEEE International Conf 阅读全文
posted @ 2016-12-14 17:09 无尽的缥缈 阅读(631) 评论(0) 推荐(0)
hive中分析函数window子句
摘要:hive中有些分析函数功能确实很强大,在和sum,max等聚合函数结合起来能实现不少功能。 直接上代码演示吧 原始数据 创建表 语句以及结果 分析结果,以channel1 列 pv1 结果是取起点到当前行的积累,比如:10号=10号 11号=10号+11号 12号=10号+11号+12号 以此类推 阅读全文
posted @ 2016-12-02 16:30 无尽的缥缈 阅读(1029) 评论(0) 推荐(0)
hive中拉链表
摘要:在有些情况下,为了保持历史的一些状态,需要用拉链表来做,这样做目的在可以保留所有状态的情况下可以节省空间。 拉链表适用于以下几种情况吧 数据量有点大,表中某些字段有变化,但是呢变化的频率也不是很高,业务需求呢又需要统计这种变化状态,每天全量一份呢,有点不太现实, 不仅浪费了存储空间,有时可能业务统计 阅读全文
posted @ 2016-12-01 14:24 无尽的缥缈 阅读(22929) 评论(2) 推荐(1)
hive中的桶
摘要:hive中有桶的概念,对于每一个表或者分区,可以进一步组织成桶,说白点,就是更细粒度的数据范围。hive采用列值哈希,然后除以桶的个数以求余的方式决定该条记录存放在哪个桶当中。使用桶的好处:1、获得更高的查询处理效率。桶为表加上了额外的结构,Hive在处理有些查询时能利用这个结构。具体而言,连接两个 阅读全文
posted @ 2016-11-23 14:02 无尽的缥缈 阅读(2903) 评论(1) 推荐(1)
MapReudce中常见join的方案
摘要:两表join在业务开发中是经常用到,了解了大数据join的原理,对于开发有很大的好处。 1、reduce side join reduce side join是一种简单的join的方法,具体思想如下: 顾名思义就在reduce进行join, 在map阶段,map同时读取两文件file1,file2, 阅读全文
posted @ 2016-11-22 14:53 无尽的缥缈 阅读(586) 评论(0) 推荐(0)
hive中的一些参数
摘要:动态分区 设置如下参数开启动态分区:hive.exec.dynamic.partition=true默认值:false描述:是否允许动态分区hive.exec.dynamic.partition.mode=nonstrict默认值:strict描述:strict是避免全分区字段是动态的,必须有至少一 阅读全文
posted @ 2016-11-18 10:53 无尽的缥缈 阅读(628) 评论(0) 推荐(0)
hive 中窗口函数row_number,rank,dense_ran,ntile分析函数的用法
摘要:hive中一般取top n时,row_number(),rank,dense_ran()这三个函数就派上用场了, 先简单说下这三函数都是排名的,不过呢还有点细微的区别。 通过代码运行结果一看就明白了。 示例数据: sql语句 结果 从结果看出 rank() 排序相同时会重复,总数不会变 dense_ 阅读全文
posted @ 2016-11-10 17:34 无尽的缥缈 阅读(24627) 评论(0) 推荐(2)
hive中order by,sort by, distribute by, cluster by的用法
摘要:1、order by hive中的order by 和传统sql中的order by 一样,对数据做全局排序,加上排序,会新启动一个job进行排序,会把所有数据放到同一个reduce中进行处理,不管数据多少,不管文件多少,都启用一个reduce进行处理。如果指定了hive.mapred.mode=s 阅读全文
posted @ 2016-11-02 19:22 无尽的缥缈 阅读(3635) 评论(0) 推荐(0)