hadoop Hive(9)

Hivejava

1. 简介web

数据仓库工具。能够把hadoop下的原始结构化数据变成Hive中的表sql

支持一种与SQL几乎彻底相同的语言HiveQL。除了不支持更新,索引和事务,几乎sql的其余特征都能支持shell

能够当作是从sql到map-reduce的映射器数据库

提供shell、JDBC/ODBC、Thrift、Web等接口服务器

clip_image002

起源自facebook由Jeff Hammerbacher领导的团队架构

构建在hadoop上数据仓库框架框架

设计目的是让sql技能良好,但Java技能较弱的分析师能够查询海量数据函数

08年facebook把hive项目贡献给Apache工具

2. Hive的组件与体系架构

用户接口:shell,thrift,web等

Thrift服务器

元数据 “Derby, Mysql等”

解析器

Hadoop

clip_image004

3. 架构图

clip_image006

4. Hive安装(能够在网上获取安装文档)

内嵌模式:元数据保持在内嵌的Derby模式,只容许一个会话链接

1) 下载hive安装包

2) 安装

(1) 上传hive安装包到机器上,使用root用户登陆:

tar –zxvf hive-0.8.1.tar.gz

(2)将解压的hive分别移动并更名为/usr/local/hive

rm -rf /usr/local/hive mv hive-0.8.1 /usr/local/hive

3) 配置hive

(1)修改/usr/local/hive/bin/hive-config.sh

在文件末尾加入

export JAVA_HOME=/usr/local/jdk

export HIVE_HOME=/usr/local/hive

export HADOOP_HOME=/usr/local/hadoop

(2) 根据hive-default.xml复制hive-site.xml

cp /usr/local/hive/conf/hive-default.xml /usr/local/hive/conf/hive-site.xml

(3)配置hive-site.xml,主要配置项以下

hive.metastore.warehouse.dir: (HDFS上的)数据目录 ,默认值是/usr/hive/ware

hive.exec.scratchdir: (HDFS上的)临时文件目录,默认值是/tmp/hive-${user.name}

以上是默认值,暂时不改

(4)改变/usr/local/hive的目录全部制为hadoop

chown –R hadoop:hadoop /usr/local/hive

(5)配置hive的log4j

clip_image008

本地独立模式:在内嵌模式的基础上,在本地安装Mysql,把元数据放到Mysql内

clip_image010

远程模式:在本地模式的基础上,

元数据放置在远程的Mysql数据库

clip_image012

clip_image014

clip_image016

clip_image018

clip_image020

clip_image022

5. Hive shell

执行HiveQL(大约至关于SQL92标准)

查看或临时设置Hive参数,只对当前会话有效

建立函数

曹如jar包

6. 建立表

clip_image024

clip_image026

插入数据

clip_image028

查询

clip_image030

表链接

clip_image032

7. JDBC/ODBC接口

(1) 用户能够像链接传统数据库同样使用JDBC或ODBC链接HIVE, 目前还不成熟

(2) JDBC的具体链接过程

1) 使用jdbc的方式链接hive,首先作的事情就是须要启动Thrift Server,不然链接hive的时候会报connection refused的错误

启动命令以下 hive –service hiveserver

2)新建java项目,而后将hive/lib下的全部jar包和hadoop的核心jar包hadoop0.20.2-core.jar添加到项目的类路径上

3) 样板代码

8.hive的数据放在哪儿?

数据在HIDFS的warehouse目录下,一个表对应一个子目录

桶与reduce

本地的/tmp目录存放日志和执行计划

clip_image034

相关文章
相关标签/搜索