大数据技术原理与应用.doc

上传人:da****u 文档编号:1181317 上传时间:2018-12-17 格式:DOC 页数:22 大小:728KB
下载 相关 举报
大数据技术原理与应用.doc_第1页
第1页 / 共22页
大数据技术原理与应用.doc_第2页
第2页 / 共22页
大数据技术原理与应用.doc_第3页
第3页 / 共22页
大数据技术原理与应用.doc_第4页
第4页 / 共22页
大数据技术原理与应用.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、厦门大学计算机科学系研究生课程大数据技术原理与应用自学教程Hadoop 上的数据仓库 Hive初级实践教程(版本号:2016 年 1 月 13 日版本)主讲教师:林子雨厦门大学数据库实验室二零一六年一月(版权声明:厦门大学数据库实验室原创内容,请勿用于商业用途)目录目录一、 Hive 简介 .1二、 Hive 安装 .1三、 Hive 配置 .3四、 Hive 的常用 HiveQL 操作 .9五、 Hive 简单编程实践 .16附录 1:任课教师介绍 .18附录 2:课程教材介绍 .18厦门大学计算机科学系研究生课程大数据技术原理与应用自学教程Hadoop 上的数据仓库 Hive 初级实践教程

2、主讲教师:林子雨 http:/ 第 1 页大数据技术原理与应用自学教程Hadoop 上的数据仓库 Hive 初级实践教程主讲教师:林子雨E-mail: 个人主页:http:/ 简介Hive 是 Facebook 开发的构建于 Hadoop 集群之上的数据仓库应用,可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可以将 SQL 语句转换为MapReduce 任务进行运行。Hive 是一个可以提供有效的、合理的且直观的组织和使用数据的模型,即使对于经验丰富的 Java 开发工程师来说,将这些常见的数据运算对应到底层的 MapReduce Java API 也是令人敬畏的

3、。Hive 可以帮用户做这些工作,用户就可以集中精力关注查询本身了。Hive可以将大多数的查询转换为 MapReduce 任务。Hive 最适合于数据仓库应用程序,使用该应用程序进行相关的静态数据分析,不需要快速响应给出结果,而且数据本身也不会频繁变化。Hive 不是一个完整的数据库。Hadoop 以及 HDFS 的设计本身约束和局限性限制了 Hive所能胜任的工作。最大的限制就是 Hive 不支持记录级别的更新、插入或者删除。用户可以通过查询生成新表或将查询结果导入到文件中去。因为,Hadoop 是一个面向批处理的系统,而 MapReduce 启动任务启动过程需要消耗很长时间,所以 Hive

4、 延时也比较长。Hive 还不支持事务。因此,Hive 不支持联机事务处理(OLTP) ,更接近于一个联机分析技术(OLAP )工具,但是,目前还没有满足“联机”部分。Hive 提供了一系列的工具,可以用来进行数据提取转化加载(ETL),其中,ETL 是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。因此, Hive 是最适合数据仓库应用程序的,它可以维护海量数据,而且可以对数据进行挖掘,然后形成意见和报告等。因为大多数的数据仓库应用程序是基于 SQL 的关系数据库现实的,所以, Hive 降低了将这些应用程序移植到 Hadoop 上的障碍。如果用户懂得 SQL,那么学习使

5、用 Hive 会很容易。因为 Hive 定义了简单的类 SQL 查询语言 HiveQL,这里值得一提的是,与SQLServer、Oracle 相比,HiveQL 和 MySQL 提供的 SQL 语言更接近。同样的,相对于其他的 Hadoop 语言和工具来说,Hive 也使得开发者将基于 SQL 的应用程序移植到 Hadoop 变得更加容易。二、 Hive 安装因为 Hive 是构建在 Hadoop 之上的,所以在安装 Hive 前,我们需要安装 Hadoop 环境。Hadoop 的安装可以参照厦门大学数据库实验室网站上的安装教程(http:/ ,但是,请注意,在按照该厦门大学计算机科学系研究生

6、课程大数据技术原理与应用自学教程Hadoop 上的数据仓库 Hive 初级实践教程主讲教师:林子雨 http:/ 第 2 页教程安装完 Hadoop 以后,不要进行配置,Hadoop 的配置过程,稍后我们在安装完 Hive 后一起进行。下面开始安装 Hive。安装 Hive 的过程和安装 Hadoop 很类似,首先,我们先下载一个 Hive 软件压缩包(下载地址:http:/www.apache.org/dyn/closer.cgi/hive/) ,然后进行解压缩,具体如下:$cd /下载$sudo tar -zxvf ./apache-hive-1.2.1-bin.tar.gz -C /us

7、r/local # 解 压 到/usr/local 中$cd /usr/local/$sudo mv ./apache-hive-1.2.1-bin/ ./hive # 将文件夹名改为 hive$sudo chown -R hadoop:hadoop ./hive # 修改文件权限$sudo mkdir -p /usr/local/hive/warehouse # 创建元数据存储文件夹$sudo chmod a+rwx /usr/local/hive/warehouse # 修改文件权限为了方便使用,我们把 hive命令加入到环境变量中去,需要使用以下命令编辑.bashrc文件:$vim /.

8、bashrc # 设置环境变量进入.bashrc 编辑状态以后,需要在文件最前面添加如下几行:export HIVE_HOME=/usr/local/hiveexport PATH=$PATH:$HIVE_HOME/bin完成上述操作后,需要运行以下命令让配置生效:$source /.bashrc #使配置立即生效然后运行 hive 命令启动 Hive,命令如下:厦门大学计算机科学系研究生课程大数据技术原理与应用自学教程Hadoop 上的数据仓库 Hive 初级实践教程主讲教师:林子雨 http:/ 第 3 页$hive #启动 Hive注意:(1 ) 若启动不成功,则会出现以下错误:则需要进

9、入到 hadoop 安装目录下的 share/hadoop/yarn/lib 下删除 jline-0.9.94.jar 文件,再启动 hive 即可(因为高版本的 Hadoop 对 Hive 有捆绑)。(2 )出现以下界面即为启动成功:三、 Hive 配置通过 Hadoop 的学习我们已经知道, Hadoop 的运行模式有三种:本地模式、 伪分布式模式和分布式模式。这里我们以介 绍本地模式为主,其他模式只进行简单介绍。因为,本地模式是 Hadoop 的默认模式,所以 ,Hadoop 不需要进行其他配置,我们只需对 Hive 进行相应配置。这里只需修改 hive-site.xml 文件,如果该文

10、件不存在,用户需要自己新建一个。(注意:在$HIVE_HOME/conf 目录下我们可能会看到 hive-default.xml.template 这个大文件,这个文件中包含了 Hive 提供的配置属性以及默认的属性值,这些属性中的绝大多数,用 户可以忽略不管)。厦门大学计算机科学系研究生课程大数据技术原理与应用自学教程Hadoop 上的数据仓库 Hive 初级实践教程主讲教师:林子雨 http:/ 第 4 页在安装 Hive 时,默认情况下,元数据存储在 Derby 数据库中。Derby 是一个完全用 Java编写的数据库,所以可以跨平台,但需要在 JVM 中运行 。因为多用户和系统可能需要

11、并发访问元数据存储,所以默认的内置数据库并不适用于生产环境。任何一个适用于 JDBC 进行连接的数据库都可用作元数据库存储,这里我们把 MySQL 作为存储元数据的数据库。接下来,我们分别对这两种方式进行介绍,即使用 Derby 数据库的方式和使用 MySQL 数据库的方式。(一)使用 Derby 数据库的方式本地模式中,用户的“表”等元数据信息 ,都默认存储在 file:/user/hive/warehouse,对于其他模式默认存储路径是 hdfs:/namenode_server/user/hive/warehouse。使用如下命令编辑 hive-site.xml 文件: $vim /us

12、r/local/hive/conf/hive-site.xml 在 hive-site.xml 文件添加以下内容:hive.metastore.warehouse.dir/usr/local/hive/warehouse location of default database for the warehousejavax.jdo.option.ConnectionURLjdbc:derby:;databaseName=/usr/local/hive/metastore_db;create=true JDBC connect string for a JDBC metastore伪分布式模式和

13、分布式模式配置 Hive,只需根据 Hadoop 配置文件 core-site.xml 中fs.defaultFS 的值对 hive.metastore.warehouse.dir 进行相应修改即可。这里对 Hadoop 的模厦门大学计算机科学系研究生课程大数据技术原理与应用自学教程Hadoop 上的数据仓库 Hive 初级实践教程主讲教师:林子雨 http:/ 第 5 页式配置,可以参考厦门大学数据库实验室网站上的的配置教程(http:/ 配置完成后,下面来启动 它,并使用 简单的 HiveQL 命令进行相应测试。我们先新建了一个表 x,它有 1 个 int 型属性 a,然后查找表 x 中的

14、所有属性,最后删除表 x,然后退出。HiveQL 命令与 SQL 命令很相似,所以,读者如果有 SQL 基础的话,会很快上手。关于HiveQL 命令的使用方法会在第 4 节详细介绍。注意:命令最后需要加“;”。(二)使用 MySQL 数据库的方式1. 首先我们需要安装 MySQL(如果本机上已经安装 MySQL,请跳过此步骤)。可以参考网址(http:/ apt-get 命令下载, 这里我们选择后者。(1 ) 查看并卸载系统自带的 MySQL 相关安装包,命令如下:$ rpm -qa|grep mysql若没有安装 rpm 工具,系统会有提示,按照提示安装即可。接下来查看是否有系统自带的MyS

15、QL 相关安装包,若有,按下面命令删除:$ sudo rpm -e -nodeps mysql-libs-xxxxxx (2 ) 安装 MySQL,命令如下:$ sudo apt-get install mysql-server (3 ) 启动设置 MySQL,命令如下:$ sudo service mysql start #启动 mysql 服务$ sudo chkconfig mysql on #设置为开机自启 动厦门大学计算机科学系研究生课程大数据技术原理与应用自学教程Hadoop 上的数据仓库 Hive 初级实践教程主讲教师:林子雨 http:/ 第 6 页$ sudo /usr/bi

16、n/mysqladmin -u root password 123 #设置root 用户登录密码$ mysql -u root -p #登录 mysql(4 ) 创建 hive 用户,数据库等,命令如下:$ insert into mysql.user (Host,User,Password) values (“localhost“,“hive“,password (“ hive“); # 创建 hive 用户$ create database hive; # 创建 hive 数据库$ grant all on hive.* to hive% identified by hive;$ gran

17、t all on hive.* to hivelocalhost identified by hive; $ flush privileges; $ exit #退出 mysql$ mysql -u hive -p hive #验证 hive 用户$ show databases; 看到以下信息,则说明创建成功。2. 配置 Hive,修改 hive-site.xml 文件,修改后的结果如下:厦门大学计算机科学系研究生课程大数据技术原理与应用自学教程Hadoop 上的数据仓库 Hive 初级实践教程主讲教师:林子雨 http:/ 第 7 页hive.metastore.warehouse.dir

18、/usr/local/hive/warehouse location of default database for the warehousejavax.jdo.option.ConnectionURLjdbc:mysql:/localhost:3306/hive;createDatebaseIfNotExist=true JDBC connect string for a JDBC metastorejavax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.DriverDriver class name for a JDBC metastorejavax.jdo.option.ConnectionPassword hive javax.jdo.option.ConnectionUserNamehiveUsername to use against metastore database

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。