hadoop第九讲

Hadoop流:最简单的M-R

具体可以参见Hadoop权威指南的第二章,主要是为了非java程序员方便使用。下面使用的是ruby脚本


Hive

数据仓库工具,可以把Hadoop的原始结构化数据变成Hive中的表。支持一种与SQL几乎完全相同的语言HiveQL,除了不支持更新、索引和事务,几乎SQL的其他特征都支持。可以看成是SQL到Map-Reduce的映射器。提供shell,JDBC/ODBC,Thrift,Web等接口。

起源于Facebook由Jeff HammerBacher领导的团队,构建在Hadoop上的数据仓库框架,设计目的是让SQL技能良好,但java技能较弱的分析师可以查询海量数据。2008年Facebook把Hive项目贡献给Apache。

Hive组件和体系架构

        

Hive安装:

1. 内嵌模式:元数据保持在内嵌的Derby模式,只允许一个回话连接

2. 本地独立模式:在本地安装MySQL,把元数据放到MySQl内

3. 远程模式:元数据放置在远程的MySQL数据库。

内嵌模式

  1. 下载Hive,解压到安装位置
  2. 配置Hive在 hive-config.sh文件末尾中添加内容:export JAVA_HOME = usr/lcoa/jdk export HIVE_HOME=/usr/loca/hive export HADOOP_HOME=/usr/lcoa/hadoop
  3. 根据hive-default.xml复制hive-site.xml,配置hive-site.xml文件内容:hive.metastore.warehouse.dir:HDFS上的数据目录hive.exec.scratchdir:HDFS上的临时文件目录默认值是/tmp/hive-${user.name} ,hive.metastore.warehouse.dir模式是/user/hive/warehouse
  4. 改变/usr/loca/hive的目录所有者为Hadoop chown -R hadoop:hadoop /usr/local/hive
  5. 配置hive的log4 j:cp /usr/local/hive/conf/hive-log4j.properties.template /usr/local/hive/conf/hive-log4j.properties,将其中的一个内容进行修改:org.apache.hadoop.metrics.jvm.EventCounter 该为org.apache.hadoop.log.metrics.EventCounter
  6. 启动hive 使用Hadoop用户登录执行/usr/local/hive/bin/hiv
Hive安装:独立模式(在上述基础之上)
  1. 安装MySQL并启动服务,在MySQL中为Hive建立账号,并授权足够的权限,例如all privileges
  2. 在上述账号登录MySQL,然后创建数据库,例如hive用于存放hive的元数据
  3. 在本地安装MySQL客户端
  4. 配置hive-site.xml文件指出本地MySQL数据库,已经连接协议,账号,口令等
  5. 把MySQL-connector-java.x.x.x.jar复制到hive的lib目录下
  6. 启动hive能进入shell表示成功
Hive安装:远程配置模式
在本地模式的基础之上修改hive-site.xml文件,设置hive.metastore.local为false,并指向远程mysql数据库。下面是hive-site.xml配置文件的内容:


Hive Shell
执行HiveQL(相当于SQL92标准),查看或临时设置Hive参数,只对当前回话有效,创建函数,导入jar包。上述配置可以在Shell中配置。
每一个表对应于一个目录
                  
插入数据
                  
查询数据
                 
                

JDBC/ODBC接口
用户可以像连接传统数据库那样使用JDBC,ODBC连接Hive(目前不成熟)。
JDBC的具体连接过程
  1. 启动 hive的Thrift Server,否则连接hive的时候会报connection refused的错误。启动命令:hive --service hiveserver (以后台形式启动而不是shell)
  2. 新建java项目,将hive/lib/下的所有jar包和Hadoop的核心jar包Hadoop-0.20.2-core-jar添加到项目的类路径上。
  3. 连接过程,样板代码如下:

Hive的Web接口

假设hive部署在10.20.151.71机器上,conf/hive-default.xml文件都是默认值,那么在浏览器中直接输入http://10.20.151.71:9999/hwi就可以访问了。

               

Hive的数据放在 HDFS的warehouse目录下,每一个表对应一个子目录。本地的/tmp目录存放日志和执行计划。Hive的UDF可以参考Hadoop权威指南的介绍。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值