大数据应用人才培养系列教材 大数据实践 刘 鹏 张 燕 总主编 袁晓东 主编 黄必栋 副主编.

Slides:



Advertisements
Similar presentations
第八讲 基于Hadoop的数据仓库Hive (PPT版本号:2016年4月6日版本)
Advertisements

“大云”大数据平台及应用 中国移动通信研究院 郭磊涛 2013年11月.
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
Oracle数据库 Oracle 子程序.
在PHP和MYSQL中实现完美的中文显示
J2EE与中间件技术 ——Lab.
基于R和pentaho的全套开源BI平台的实现
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
Hadoop I/O By ShiChaojie.
MariaDB Spider分库分表引擎调研
基于Hadoop的数据仓库Hive.
第二讲 搭建Java Web开发环境 主讲人:孙娜
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
SQL Injection.
辅导课程六.
网络常用常用命令 课件制作人:谢希仁.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第17章 网站发布.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
数据挖掘工具性能比较.
PaPaPa项目架构 By:Listen 我在这.
ENS 10.1安装配置指南 王俊涛 | SE.
Windows 7 的系统设置.
YMSM D-PACK 安装手册 作成者:D-PACK维护组(YMSLx) 作成日:
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
三:基于Eclipse的集成开发环境搭建与使用
SOA – Experiment 2: Query Classification Web Service
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
Web安全基础教程
第四章 团队音乐会序幕: 团队协作平台的快速创建
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Visual Basic程序设计 第13章 访问数据库
Touch Github = Touch the World
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
Python 环境搭建 基于Anaconda和VSCode.
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
Chinese Virtual Observatory
大数据应用人才培养系列教材 大数据系统运维 刘 鹏 张 燕 总主编 姜才康 主编 陶建辉 副主编.
大数据应用人才培养系列教材 大数据实践 刘 鹏 张 燕 总主编 袁晓东 主编 黄必栋 副主编.
VB与Access数据库的连接.
大数据应用人才培养系列教材 R 语言 刘 鹏 张 燕 总主编 程显毅 主编 刘颖 朱倩 副主编.
大数据应用人才培养系列教材 R 语言 刘 鹏 张 燕 总主编 程显毅 主编 刘颖 朱倩 副主编.
大数据应用人才培养系列教材 大数据实践 刘 鹏 张 燕 总主编 袁晓东 主编 黄必栋 副主编.
WEB程序设计技术 数据库操作.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 UNIX文件系统.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
大数据应用人才培养系列教材 大数据实践 刘 鹏 张 燕 总主编 袁晓东 主编 黄必栋 副主编.
大数据应用人才培养系列教材 大数据实践 刘 鹏 张 燕 总主编 袁晓东 主编 黄必栋 副主编.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
学习目标 1、什么是列类型 2、列类型之数值类型.
JUDDI安装手册.
百万行、千万行数据查询教程 老黄牛.
Presentation transcript:

大数据应用人才培养系列教材 大数据实践 刘 鹏 张 燕 总主编 袁晓东 主编 黄必栋 副主编

第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例 大数据应用人才培养系列教材 第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例 4.3 Hive配置 实验3 Hive实验 4.4 Hive接口 习题

4.1 Hive简介 第四章 数据仓库工具HIve 1.工作原理 Hive本质上是一个SQL解析引擎,它将SQL语句转译成MapReduce作业并在Hadoop上执行。Hive执行过程如下,其工作原理如图。 (1)用户通过用户接口连接Hive,发布Hive QL。 (2)Hive解析查询并制定查询计划。 (3)Hive将查询转换成MapReduce作业。 (4)Hive在Hadoop上执行MapReduce作业。

4.1 Hive简介 第四章 数据仓库工具HIve 2.体现架构 Hive的体系架构如图所示,按功能主要分5大模块:用户接口、Thrift服务器、 解析器、MetaStore元数据和Hadoop集群。

4.1 Hive简介 第四章 数据仓库工具HIve 3.数据模型 Hive包含以下四种数据模型:内部表(Managed Table)、外部表(External Table)、分区(Partition)和桶(Bucket)。Hive中的数据存储如下图所示。 数据库 (database) 表 (table) 常规数据 (data) 分区 (Partition) 分区(Partition) (Buckets)桶

4.1 Hive简介 3.数据模型 (1)内部表(Managed Table)。 每个Hive内部表在HDFS中都有对应目录用来存储表的数据。 内部表的创建过程和数据加载过程可以分别独立完成,也可以在同一个语句中完成。 删除内部表时,表中的数据和元数据会被同时删除。 (2)Hive外部表(External Table) Hive外部表和内部表在元数据组织上是一样的,但在实际数据存储上有较大差异。 外部表数据不存储在自己表所属目录中,存储在LOCATION指定的HDFS路径中。 外部表仅有一个过程,创建表和数据加载过程同时进行和完成。 删除外部表仅仅是删除外部表对应的元数据,外部表所指向的数据不会被删除。 创建外部表使用EXTERNAL关键字。

4.1 Hive简介 3.数据模型 (3)分区(Partition) 分区是表的部分列的集合。 一般为频繁使用的数据建立分区,在查找分区中数据时不用扫描全表,有利于提高查找效率。 Hive每个表有一个相应的目录存储数据,表中的的每一个分区对应表目录下的一个子目录,每个分区中的数据存储在对应子目录下的文件中。例如,表member(假定包含分区字段gender)在HDFS的路径为/user/hive/warehouse/member,分区gender=F对应的HDFS路径为/user/hive/warehouse/ member/gender=F,分区gender=M对应的HDFS路径为/user/hive/warehouse/member/gender=M,当导入数据到分区gender=F,则数据存储在/user/hive/warehouse/member/gender=F/000000_0文件中,当导入数据到分区gender=M,则数据存储在/user/hive/warehouse/member/gender=M/000000_0文件中。

4.1 Hive简介 3.数据模型 (4) 桶(Bucket) 桶是将表的列通过Hash算法进一步分解成不同的文件存储。 对指定列计算hash值,根据hash值切分数据,目的是为了并行。 每一个桶对应一个文件(注意和分区的区别)。分区是粗粒度的划分,桶是细粒度的划分,这样可以让查询发生在小范围的数据上,提高查询效率,适合进行表连接查询,适合用于采样分析。比如,要将member表的id列分散至32个桶中,首先对id列的值进行Hash值计算,其中对应Hash值是0的数据存储在/hive/warehouse/member/000000_0文件中,对应Hash值是1的数据存储在/hive/warehouse/ member/000001_0文件中,依次类推。

第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例 大数据应用人才培养系列教材 第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例 4.3 Hive配置 实验3 Hive实验 4.4 Hive接口 习题

4.2 Hive部署 第四章 数据仓库工具HIve 4.2.1.Hive部署模式 Hive将metastore元数据存储在RDBMS中,如MySQL、Derby。按metastore存储位置的不同,其部署模式分为内嵌模式、本地模式和完全远程模式三种。 1.内嵌模式 内嵌模式是安装时默认部署模式 元数据信息被存储在Hive自带的数据库Derby中 所示所有组件(如数据库、元数据服务)运行在同一个进程内。 只允许建立一个连接,意味着同一时刻只支持一个用户访问和操作Hive。

4.2 Hive部署 2.本地模式 本地模式的元数据服务运行在Hive服务主进程中。 当涉及元数据操作时,Hive服务中的元数据服务模块通过JDBC和存储于DB里的元数据数据库进行交互。 本地模式下MySQL数据库与Hive运行在同一台物理机器上 可提供多用户并发访问metastore服务。

4.2 Hive部署 3.远程模式 远程模式的元数据信息是被存储在独立数据库中 元数据可能存储在另一台物理机上,甚至另一种操作系统上。 元数据服务以独立进程运行。 远程模式允许创建多个连接,提供多用户同时访问并操作Hive。

4.2 Hive部署 第四章 数据仓库工具HIve 4.2.2.Hive内嵌模式部署 Hive是基于Hadoop的数据仓库技术,因此部署Hive前要预先部署完成Hadoop稳定版本的集群环境。hive-2.1.1二进制包的安装步骤如下。 (1)下载Hive安装包到/root/tools目录。 (2)解压二进制包到安装目录/usr/cstor,解压后生成子目录apache-hive-2.1.1-bin。 (3)将目录apache-hive-2.1.1-bin重命名为hive,方便后续操作。 (4)为Hive配置Hadoop安装路径。 (5)在HDFS里新建Hive存储目录。 (6)初始化元数据库,启动Hive,进入Hive运行时环境。 内嵌模式下,启动Hive指的是启动Hive运行时环境。出现“hive>”提示表示Hive正常启动,否则部署失败。

4.2 Hive部署 4.2.3.Hive本地和远程模式部署 Hive本地模式安装步骤。 (1)完成Hive基本安装。 (2)安装MySQL程序。 (3)启动MySQL。 (4)创建存储Hive元数据的数据库HiveDB。 (5)退出MySQL,切换到hive的bin目录编辑hive-config.sh文件。 (6)切换到hive的conf目录创建和编辑hive-site.xml文件。 (7)把Java连接MySQL的驱动程序文件mysql-connector-java-x.y.z-bin.jar复制到hive的lib目录。 (8)初始化元数据库,启动Hive,进入Hive运行时环境。 注意:要确保Hadoop集群已经启动和MySQL服务运行正常才可以启动Hive。 远程模式的安装与本地模式类似,最主要的区别是在hive-site.xml配置文件中修改localhost为远程MySQL数据库的IP地址。

第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例 大数据应用人才培养系列教材 第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例 4.3 Hive配置 实验3 Hive实验 4.4 Hive接口 习题

4.3 Hive配置 第四章 数据仓库工具HIve Hive启动时会读取相关配置信息,Hive配置可以调优HQL代码执行效率,Hive 配置文件在conf子目录下,经常需要根据需求进行修改。Hive配置文件主要有两个。 1. 文件hive-env.sh。指定Hadoop安装路径。 2. 文件hive-site.xml。保存Hive运行时所需要的相关配置参数。 HIVE_HOME/conf目录中的文件hive-default.xml.template保存着各个配置参数的默认值,用户可以通过在conf目录中创建hive-site.xml并新增特定参数的值来覆盖默认值。 更改hive-site.xml文件中的配置属性的方法。 (1)直接用命令vim hive-site.xml编辑hive-site.xml文件。 (2)使用带-hiveconf选项的Hive命令。 (3)使用set命令。

第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例 大数据应用人才培养系列教材 第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例 4.3 Hive配置 实验3 Hive实验 4.4 Hive接口 习题

4.4 Hive接口 第四章 数据仓库工具HIve Hive主要提供Hive Shell接口、Hive Web接口、Hive API接口、Hcatalog接口、 Pig接口和Beeline接口等。 1.Hive Shell接口 Hive Shell接口运行在Hadoop集群环境上,提供在Hive Shell下执行类SQL命令相关HiveQL操作环境,是Hive提供的标准接口,也是开发者最常用命令行接口。 在Hive提示符后输入HiveQL命令,Hive Shell把HiveQL查询转换为一系列MapReduce作业对任务进行并行处理,然后返回处理结果。通过Shell接口,程序员和分析师很容易编写HiveQL来实现新建表和查询表操作。 安装完Hive后,输入“<HIVE_HOME>/bin/hive”或者“hive --service cli”回车即可启动Hive Shell。初次在Hive Shell下执行命令,会在执行命令操作的机器上创建metastore数据库。

4.4 Hive接口 Hive Shell操作有如下特点。 (1)命令必须以分号“;”结束,通知Hive开始执行相应的操作。 (2)命令不要求大小写敏感(除了进行字符串比较相关操作),因此,命令“show table;”将会产生与“SHOW TABLE;”相同的输出结果。 (3)支持Tab键命令自动补全功能,如在hive>提示符后输入SH或SHO按下Tab键会自动补齐为show,输入show ta按下Tab键会显示所有可能的命令。 (4)默认会输出执行过程信息,如执行查询操作所用时间,通过指定-S选项可以禁止输出此类信息,只输出HiveQL执行结果。 Hive Shell的常用命令如下。 (1)清屏。 (4)查看表结构。 (2)查看数据库中的表。 (5)查看HDFS上的文件 (3)查看数据库中的内置函数。 (6)执行操作系统的命令

4.4 Hive接口 第四章 数据仓库工具HIve 2.Hive Web接口 Hive Web接口简称HWI(Hive Web Interface),是Hive Shell接口的一个替代方案(图形化实现),提供了更直观的Web界面,适合数据分析或数据运营人员做即席查询。用户通过浏览器来访问和操作Hive服务端,可以查看Hive数据库模式,执行HiveQL相关操作命令。在浏览器的地址栏输入http://<IP地址>:9999/hwi/回车实现访问Hive Web管理接口。 (1)配置HWI的步骤 打包war文件。 copy相关jar文件到$HIVE_HOME/lib目录下, 修改hive-site.xml配置文件 (2)启动HWI服务,在命令行下输入“hive --service hwi”启动Hive Web管理方式

第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例 大数据应用人才培养系列教材 第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例 4.3 Hive配置 实验3 Hive实验 4.4 Hive接口 习题

4.5 Hive SQL 第四章 数据仓库工具HIve Hive定义了简单的类SQL查询语句,称HiveQL,与大部分SQL语法兼容,方便熟悉SQL的开发者使用Hive开发和处理复杂的分析工作,还可以用HQL进行查询。 1.数据类型 Hive支持基本类型和复杂类型,基本类型包括如下几种。 (1)整数类型:tinyint/smallint/int/bigint。 (2)浮点数类型:float/double/dicemal。 (3)布尔类型:boolean。 (4)字符串类型:string/varchar/char。 复杂类型包括如下几种。 (1)Array:数组类型,由一系列相同数据类型的元素组成。 (2)Map:集合类型,包括Key-Value键值对,可以通过Key来访问元素。 (3)Struct:结构类型,可以包含不同数据类型的元素,这些元素可以通过“点语法”的方式来得到所需要的元素。

4.5 Hive SQL 2.DDL语句 DDL操作(Data Definition Language,数据定义语言),常用DDL语句。 (1) create/drop/alter数据库 (2) create/drop/truncate表 (3) alter表/分区/列 (4) Create/Drop/Alter视图 (5) Hive函数 Hive中内置了许多函数,比如日期操作函数day()、year()和month()等,数值操作函数sum()、avg()、max()、min()和count()等。但在某些特殊场景下,可能还是需要自定义函数满足特定功能,这时要用用户自定义函数UDF。

4.5 Hive SQL 第四章 数据仓库工具HIve 3.DML语句 DML(Data Manipulation Language,数据操作语言),常见的操作包括下面几个方面。 (1)将文件中的数据导入(load)到Hive表中 (2) select和filters (3)数据表连接join操作 (4)将select查询结果导出到Hive的另一个表中 (5)将select查询结果写入文件 写入本地文件系统 写入分布式文件系统HDFS

第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例 大数据应用人才培养系列教材 第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例 4.3 Hive配置 实验3 Hive实验 4.4 Hive接口 习题

4.6 Hive 操作实例 任务:在本地文件系统建立文件“/home/member.txt”,文件内容如下(数据之间用tab键分隔)。 (2)将本地文件“/home/member.txt”导入member表中。 (3)查询member表中所有记录。 (4)查询member表中男同学(性别值为1)数据。 (5)查询member表中22岁男同学数据。 (6)统计member表中男同学和女同学(性别值为0)的人数。 (7)删除member表。

实验3 Hive实验 一、 实验目的 理解Hive体系架构。 掌握Hive内嵌模式部署。 掌握Hive Shell常用命令的使用。 熟悉Hive表DDL操作和DML操作。 二、 实验要求 完成Hive内嵌模式部署。 能够将Hive数据存储在HDFS上。 进入HIve Shell,完成Hive的常见DDL操作和DML操作。 三、 实验步骤 (1) 为集群中所有机器添加域名映射,配置ssh免密登录。 (2) 部署Hadoop 2.7.3并启动。 (3) 内嵌模式安装hive-2.1.1版本。 (4) 启动Hive shell进行练习。

第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例 大数据应用人才培养系列教材 第4章 数据仓库工具Hive 4.1 Hive部署 4.5 Hive SQL 4.2 Hive部署 4.6 Hive操作实例 4.3 Hive配置 实验3 Hive实验 4.4 Hive接口 习题

习题: 1.简述Hive的工作原理。 2.简述Hive的功能作用及其体系架构。 3.简述Hive的三种部署方式。 4.简述Hive的接口。

AIRack人工智能实验平台 ——一站式的人工智能实验平台 DeepRack深度学习一体机 ——开箱即用的AI科研平台 BDRack大数据实验平台——一站式的大数据实训平台

云创公众号推荐 刘鹏看未来 云计算头条 中国大数据 深度学习世界 云创大数据订阅号 云创大数据服务号 高校大数据与人工智能 微信号:lpoutlook 云计算头条 微信号:chinacloudnj 中国大数据 微信号:cstorbigdata 深度学习世界 微信号:dl-world 云创大数据订阅号 微信号:cStor_cn 云创大数据服务号 微信号:cstorfw 高校大数据与人工智能 微信号:data_AI

手机APP推荐 我的PM2.5 随时随地准确 查看身边的 PM2.5值 同声译 支持26种语言 互译的实时翻 译软件 我的南京 云创大数据为路 况大数据应用提 供技术支持 科技头条 汇聚前沿资讯 的科技情报站

网站推荐 万物云 智能硬件大数据免费托管平台 环境云 环境大数据开放共享平台

感谢聆听