
hive学习
文章平均质量分 64
djd已经存在
······
展开
-
Hive学习路线图
前言Hive是Hadoop家族中一款数据仓库产品,Hive最大的特点就是提供了类SQL的语法,封装了底层的MapReduce过程,让有SQL基础的业务人员,也可以直接利用Hadoop进行大数据的操作。就是这一个点,解决了原数据分析人员对于大数据分析的瓶颈。让我们把Hive的环境构建起来,帮助非开发人员也能更好地了解大数据。目录Hive介绍Hive学习路线图原创 2016-04-12 16:18:55 · 1333 阅读 · 0 评论 -
hive的order by语句分析
Hive中的order by跟传统的sql语言中的order by作用是一样的,会对查询的结果做一次全局排序,所以说,只有hive的sql中制定了order by所有的数据都会到同一个reducer进行处理(不管有多少map,也不管文件有多少的block只会启动一个reducer)。但是对于大量数据这 将会消耗很长的时间去执行。 这里跟传统的sql还有一点区别:如果指定了hive.m原创 2016-07-15 14:43:31 · 2106 阅读 · 0 评论 -
Hive:ORC与RC存储格式之间的区别
一、定义 ORC File,它的全名是Optimized Row Columnar (ORC) file,其实就是对RCFile做了一些优化。据官方文档介绍,这种文件格式可以提供一种高效的方法来存储Hive数据。它的设计目标是来克服Hive其他格式的缺陷。运用ORC File可以提高Hive的读、写以及处理数据的性能。和RCFile格式相比,ORC File格式有以下优点: (转载 2016-07-26 13:38:44 · 6361 阅读 · 0 评论 -
hive什么时候会使用本地的mapreduce
如果在hive中运行的sql本身数据量很小,那么使用本地mr的效率要比分布式的快很多。//开启本地mrset hive.exec.mode.local.auto=true; //设置local mr的最大输入数据量,当输入数据量小于这个值的时候会采用local mr的方式set hive.exec.mode.local.auto.inputbytes.max=500原创 2016-06-30 19:26:41 · 2621 阅读 · 0 评论 -
hive优化策略之控制map数和reduce数
我们可以通过控制map和reduce的数量来平衡资源达到优化程序的目的。一、map数量map的数量与你输入的文件个数和大小有关,你可以通过set dfs.block.size;来查看集群设置的文件块大小,该参数不能自定义修改。hive> set dfs.block.size;dfs.block.size=134217728例如你输入一个文件fil原创 2016-06-30 19:08:15 · 3564 阅读 · 0 评论 -
Hive中的数据库(Database)和表(Table)
在前面的文章中,介绍了可以把Hive当成一个“数据库”,它也具备传统数据库的数据单元,数据库(Database/Schema)和表(Table)。本文介绍一下Hive中的数据库(Database/Schema)和表(Table)的基础知识,由于篇幅原因,这里只是一些常用的、基础的。二、Hive的数据库和表先看一张草图:Hive结构从图上可以看出,Hi转载 2016-06-30 11:13:33 · 1943 阅读 · 0 评论 -
Hive小文件合并
背景Hive query将运算好的数据写回hdfs(比如insertinto语句),有时候会产生大量的小文件,如果不采用CombineHiveInputFormat就对这些小文件进行操作的话会产生大量的map task,耗费大量集群资源,而且小文件过多会对namenode造成很大压力。所以Hive在正常job执行完之后,会起一个conditionaltask,来判断是否需要合并小文件,如果满足原创 2016-06-03 20:02:48 · 1378 阅读 · 0 评论 -
hive 设置参数列表
hive.exec.mode.local.auto 决定 Hive 是否应该自动地根据输入文件大小,在本地运行(在GateWay运行) truehive.exec.mode.local.auto.inputbytes.max 如果 hive.exec.mode.local.auto 为 true,当输入文件大小小于此阈值时可以自动在本地模式运行,默认是 128兆。 134217728原创 2016-06-03 19:55:48 · 1678 阅读 · 0 评论 -
hive的压缩设置
压缩配置: map/reduce 输出压缩(一般采用序列化文件存储)set hive.exec.compress.output=true;set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;set mapred.output.compression.type=BLOCK;原创 2016-06-03 19:51:59 · 11560 阅读 · 1 评论 -
Hive 基础
1、Hive 分区表在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。分区表指的是在创建表时指定的partition的分区空间。Hive可以对数据按照某列或者某些列进行分区管理,所谓分区我们可以拿下面的例子进行解释。当前互联网应用每天都要存储大量的日志文件,几G、几十G甚至更大转载 2016-06-03 19:46:35 · 1930 阅读 · 0 评论 -
hive的三板斧:内部表和外部表、分区和分桶以及序列化/反序列化(SerDe)
Hive是Hadoop生态圈中实现数据仓库的一项技术。虽然Hadoop和HDFS的设计局限了Hive所能胜任的工作,但是Hive仍然是目前互联网中最适合数据仓库的应用技术。 不论从“品相还是举止”,Hive都像一个关系型数据库。用户对数据库、表和列这类术语比较熟悉的话,那么掌握Hive的查询语言HQL也轻而易举。不过,Hive的实现和使用方式与传统的关系数据库相比,有很多不同的地方。我们H原创 2016-06-03 19:44:45 · 3847 阅读 · 0 评论 -
hive优化记录----合并小文件压缩输出
Hive简要介绍Hive是基于Hadoop的数据仓库平台,由Facebook贡献,其支持类似SQL的结构化查询功能。Hive的组件总体上可以分为以下几个部分:用户接口(UI)、驱动、编译器、元数据(Hive系统参数数据)和执行引擎。1) 对外的接口UI包括以下几种:命令行CLI,Web界面、JDBC/ODBC接口;2) 驱动:接收用户提交的查询HQL;3) 编译器:解析查询语句原创 2016-06-03 19:16:39 · 15506 阅读 · 2 评论 -
Hive程序传递变量
图 1 外部向Hive程序中传递变量的方法使用Hive编写程序最常用的方法是将Hive语句写到文件中,然后使用hive -f filename.hql来批量执行查询语句。经常需要将外部参数传入到hql语句中替换其中的变量来动态执行任务,比如动态设定数据库名、表名、时间值、字段序列等变量,以达到脚本泛化执行的目的。1) 方法1:字符串、正则、模板引擎等暴力方式替换最简单也原创 2016-06-02 21:22:08 · 2006 阅读 · 0 评论 -
hive的组成组件分析
首先我们要知道hive到底是做什么的。下面这几段文字很好的描述了hive的特性: 1.hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计转载 2016-04-18 16:38:27 · 4006 阅读 · 0 评论 -
Hive几种参数配置方法
Hive提供三种可以改变环境变量的方法,分别是:(1)、修改${HIVE_HOME}/conf/hive-site.xml配置文件;(2)、命令行参数;(3)、在已经进入cli时进行参数声明。下面分别来介绍这几种设定。 方法一: 在Hive中,所有的默认配置都在${HIVE_HOME}/conf/hive-default.xml文件中,如果需要对默认的配置进行修改,可以创建一个hi原创 2016-05-25 18:00:50 · 1089 阅读 · 0 评论 -
hive+python数据分析入门
为什么要使用hive+python来分析数据举个例子,当年没有数据库的时候, 人们编程来操作文件系统, 这相当于 我们编写mapreduce来分析数据后来有了数据库, 再没人操作文件系统了(除非有其它需求), 而是直接使用sql和一些语言(php, java, python)来操作数据. 这就相当于 hive + python了hive + python能解决大原创 2016-04-13 17:14:21 · 7249 阅读 · 0 评论 -
Hive安装及使用攻略
前言Hive是Hadoop一个程序接口,Hive让数据分析人员快速上手,Hive使用了类SQL的语法,Hive让JAVA的世界变得简单而轻巧,Hive让Hadoop普及到了程序员以外的人。从Hive开始,让分析师们也能玩转大数据。目录Hive的安装Hive的基本使用:CRUDHive交互式模式数据导入数据导出Hive查询HiveQLHiv原创 2016-04-12 17:55:31 · 1512 阅读 · 0 评论 -
Hive 优化-限制大作业的提交
最近有些同事些sql进行查询时,sql语句里不指定partition字段,这样直接造成hive生成Hadoop的MapReduce任务时查询的数据量巨大,从而影响整个集群的性能。经研究可以通过配置Hive参数来预防此类错误,从而达到优化的目的。在hive-site.xml中添加以下配置:hive.mapred.mode原创 2016-08-19 11:10:37 · 1402 阅读 · 0 评论