HIVE 第一章 源码编译
Posted 麦田里的守望者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HIVE 第一章 源码编译相关的知识,希望对你有一定的参考价值。
公告:更新任在持续,更多精彩内容 敬请关注!
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。
Hive 没有专门的数据格式。 Hive 可以很好的工作在 Thrift 之上,控制分隔符,也允许用户指定数据格式。
Hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,Hive 并不能够在大规模数据集上实现低延迟快速的查询,例如,Hive 在几百MB 的数据集上执行查询一般有分钟级的时间延迟。因此 Hive 并不适合那些需要低延迟的应用,例如,联机事务处理(OLTP)。Hive 查询操作过程严格遵守Hadoop MapReduce 的作业执行模型,Hive 将用户的HiveQL 语句通过解释器转换为MapReduce 作业提交到Hadoop 集群上,Hadoop 监控作业执行过程,然后返回作业执行结果给用户。Hive 并非为联机事务处理而设计,Hive 并不提供实时的查询和基于行级的数据更新操作。Hive 的最佳使用场合是大数据集的批处理作业,例如,网络日志分析。
[root@CentOS ~] # rpm -ivh jdk-7u79-linux-i586.rpm
[root@CentOS ~] # tar -zxf apache-maven-3.3.3-bin.tar.gz -C /usr/
[root@CentOS ~]# vi .bashrc
CLASSPATH=.
JAVA_HOME=/usr/java/latest
M2_HOME=/usr/apache-maven-3.3.3
PATH=$PATH:$JAVA_HOME/bin:
$M2_HOME/bin
MAVEN_OPTS="-Xms256m -Xmx768m
-XX:PermSize=128m -XX:MaxPermSize
=256M"
export CLASSPATH
export JAVA_HOME
export PATH
export M2_HOME
export MAVEN_OPTS
退出保存执行[root@hive ~]#source /root/.bashrc
[root@CentOS ~]# tar -zxf apache-hive-1.2.1-src.tar.gz
[root@CentOS ~]#cd apache-hive-1.2.1-src
[root@CentOS ~] apache-hive-1.2.1-src]# mvn clean package -Phadoop-2 -DskipTests -Pdist
[root@CentOS apache-hive-1.2.1-src]# tree -L 2 packaging/
packaging/
├── pom.xml
├── src
│ └── main
└── target
├── antrun
├── apache-hive-1.2.1-bin
├── apache-hive-1.2.1-bin.tar.gz
├── apache-hive-1.2.1-jdbc.jar
├── apache-hive-1.2.1-src.tar.gz
├── archive-tmp
├── maven-shared-archive-resources
├── tmp
└── warehouse
本期内容暂时更新到此,更多精彩内容请持续关注jiangzz_wy公众账号,如有任何疑问也可以添加小编jiangzz_wx微信。
以上是关于HIVE 第一章 源码编译的主要内容,如果未能解决你的问题,请参考以下文章