Hive 分布式数据仓库
文章平均质量分 80
Michael_Shentu
感兴趣方向:分布式计算与存储,广告计算学,分布式数据挖掘与机器学习,Hadoop,Spark,HBase
展开
-
hive 的配置项说明
hive.exec.mode.local.auto 决定 Hive 是否应该自动地根据输入文件大小,在本地运行(在GateWay运行) true hive.exec.mode.local.auto.inputbytes.max 如果 hive.exec.mode.local.auto 为 true,当输入文件大小小于此阈值时可以自动在本地模式运行,默原创 2015-01-27 17:25:05 · 1020 阅读 · 0 评论 -
hive中子查询实例
Hive只支持在FROM子句中使用子查询,子查询必须有名字,并且列必须唯一:SELECT ... FROM(subquery) name ...确认下是否一定要求列必须唯一? 建表语句:create table tb_in_base( id bigint, devid bigint, devname string)原创 2015-10-29 13:57:44 · 36218 阅读 · 1 评论 -
hive 中的join操作
一 排序和聚合对于排序有两种方式,一种是order by 一种是sort byorder by 会对所有的数据进行排序,所以最后会只有一个reducer来处理,如果数据量非常大,效率会非常差劲sort by是部分排序,只是对一个reducer的数据进行排序FROMrecords2SELECTyear, temperatureDISTRIB原创 2015-10-29 11:52:11 · 1287 阅读 · 0 评论 -
Hive sql下的Order by和Sort by的区别
Hive基于HADOOP来执行分布式程序的,和普通单机程序不同的一个特点就是最终的数据会产生多个子文件,每个reducer节点都会处理partition给自己的那份数据产生结果文件,这导致了在HADOOP环境下很难对数据进行全局排序,如果在HADOOP上进行order by全排序,会导致所有的数据集中在一台reducer节点上,然后进行排序,这样很可能会超过单个节点的磁盘和内存存储能力导致任务失败原创 2015-10-28 16:28:34 · 4672 阅读 · 0 评论 -
Hive sql 执行计划实例1
hive>explain select news_id from hot_news order by news_id limit 15; 该sql的执行计划如下:STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1STAGE PLA原创 2015-10-28 21:54:53 · 569 阅读 · 0 评论 -
hive sql 执行计划实例2
hive> explain select a.type,a.news_id from hot_news a distribute by a.type sort by a.news_id;OK该sql的执行计划如下:STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages:原创 2015-10-28 22:00:51 · 524 阅读 · 0 评论 -
Hive SQL的编译过程
Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区的咨询和自己的努力,在解决这些问题的同时我们对Hive将SQL编译为MapReduce的过程有原创 2015-10-28 17:06:15 · 552 阅读 · 0 评论 -
Hive 配置详细 说明
hive的配置:hive.ddl.output.format:hive的ddl语句的输出格式,默认是text,纯文本,还有json格式,这个是0.90以后才出的新配置;hive.exec.script.wrapper:hive调用脚本时的包装器,默认是null,如果设置为python的话,那么在做脚本调用操作时语句会变为python ,null的话就是直接执行<script c原创 2015-01-23 17:22:26 · 1111 阅读 · 2 评论 -
hive 使用本地模式
0.7版本后Hive开始支持任务执行选择本地模式(local mode)。大多数的Hadoop job是需要hadoop提供的完整的可扩展性来处理大数据的。不过,有时hive的输入数据量是非常小的。在这种情况下,为查询出发执行任务的时间消耗可能会比实际job的执行时间要多的多。对于大多数这种情况,hive可以通过本地模式在单台机器上处理所有的任务。对于小数据集,执行时间会明显被缩短。原创 2015-01-27 17:38:55 · 2781 阅读 · 0 评论 -
Hive sql 优化介绍
Hive是将符合SQL语法的字符串解析生成可以在Hadoop上执行的MapReduce的工具。使用Hive尽量按照分布式计算的一些特点来设计sql,和传统关系型数据库有区别,所以需要去掉原有关系型数据库下开发的一些固有思维。基本原则:1:尽量尽早地过滤数据,减少每个阶段的数据量,对于分区表要加分区,同时只选择需要使用到的字段select ... from A原创 2015-10-29 17:22:36 · 682 阅读 · 0 评论