Hivejava
1. 简介web
数据仓库工具。能够把hadoop下的原始结构化数据变成Hive中的表sql
支持一种与SQL几乎彻底相同的语言HiveQL。除了不支持更新,索引和事务,几乎sql的其余特征都能支持shell
能够当作是从sql到map-reduce的映射器数据库
提供shell、JDBC/ODBC、Thrift、Web等接口服务器
起源自facebook由Jeff Hammerbacher领导的团队架构
构建在hadoop上数据仓库框架框架
设计目的是让sql技能良好,但Java技能较弱的分析师能够查询海量数据函数
08年facebook把hive项目贡献给Apache工具
2. Hive的组件与体系架构
用户接口:shell,thrift,web等
Thrift服务器
元数据 “Derby, Mysql等”
解析器
Hadoop
3. 架构图
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
本地独立模式:在内嵌模式的基础上,在本地安装Mysql,把元数据放到Mysql内
远程模式:在本地模式的基础上,
元数据放置在远程的Mysql数据库
5. Hive shell
执行HiveQL(大约至关于SQL92标准)
查看或临时设置Hive参数,只对当前会话有效
建立函数
曹如jar包
6. 建立表
插入数据
查询
表链接
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目录存放日志和执行计划