自己想做网站怎么做,平面设计零基础难学吗,杨凌做网站的,ppt素材大全免费图片1#xff0c;Apache Hive概述
定义#xff1a; Hive是由Facebook开源用于解决海量结构化日志的数据统计#xff0c;它是基于大数据生态圈Hadoop的一个数据仓库工具。 作用#xff1a; Hive可以用于将结构化的数据文件【映射】为一张表#xff0c;并提供类SQL查询功能。 H…1Apache Hive概述
定义 Hive是由Facebook开源用于解决海量结构化日志的数据统计它是基于大数据生态圈Hadoop的一个数据仓库工具。 作用 Hive可以用于将结构化的数据文件【映射】为一张表并提供类SQL查询功能。 Hive的本质是将SQL转化成MapReduce程序。 使用场景 主要用途用来做离线数据分析比直接MapReduce的开发效率更高。
总结作用Hive可以简单理解为SQL–MapReduce框架的一个封装可以将用户编写的SQL语句解析成对应的MapReduce程序最终通过MapReduce运算框架形成运算结果并提交给客户端Client。
1Hive的优缺点
1优点 a操作接口采用类SQL语法提供快速开发的能力
b避免了直接去写MapReduce运算程序减少开发人员的学习成本
cHive支持用户自定义函数功能扩展很方便。
2缺点 aHive的执行延迟比较高因此Hive常用于数据分析对实时性要求不高的场合
bHive优势在于处理大数据对于处理小数据几乎没有优势因为Hive的执行延迟比较高
c直接使用MapReduce实现复杂查询逻辑开发难度太大可以转而使用Hive完成。
2Hive基础架构
1用户接口 用户接口包括CLI、JDBC/ODBC、WebGUI。 aCLI(command line interface)为shell命令行 bJDBC/ODBC是Hive的Java实现与传统数据库JDBC类似 cWebGUI是通过浏览器访问Hive。
Hive提供了Hive Shell、ThriftServer等服务进程向用户提供操作接口。 2元数据存储 元数据包含: 用Hive创建的database、table、表的字段等元信息。 元数据存储: 存在关系型数据库中,如:hive内置的Derby数据库或者第三方MySQL数据库等。
在Hive中元数据存储需要使用MetaStore。 3Driver驱动程序 Driver包括语法解析器、计划编译器、优化器、执行器可以完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。 生成的查询计划存储在HDFS中并在随后由MapReduce调用执行。
这部分内容不是具体的服务进程而是封装在Hive所依赖的Jar文件即Java代码中。 2当使用Hive时与传统数据库对比特性有 1Hive用于海量数据的离线数据分析
2Hive具有SQL数据库的外表但应用场景完全不同Hive只适合用来做批量数据统计分析。
2Hive部署
1MetaStore元数据存储流程
1客户端Client连接MetaStore服务
2MetaStore再去连接MySQL等关系型数据库来存取元数据。 2存在的作用 当有了MetaStore服务后就可以有多个客户端同时连接且这些客户端不需要知道MySQL等数据库的用户名和密码只需要连接MetaStore服务即可
3MetaStore提供存储服务时有三种不同的模式
1MetaStore服务是否需要单独配置、单独启动
2Metadata元数据是存储在内置库Derby中还是第三方库MySQL等数据库中。 1内嵌模式 当MetaStore元数据存储采用内嵌模式时
1优点解压Hive安装包到bin/hive后启动Hive即可使用MetaStore2缺点把Derby和MetaStore服务都嵌入在主Hive Server进程中不适用于生产环境原因a一个服务只能被一个客户端连接(如果用两个客户端以上就非常浪费资源)b元数据不能共享。2本地模式
当MetaStore元数据存储采用本地模式时
1优点: 可以单独使用外部的数据库(MySQL), 元数据共享2缺点: 相对浪费资源, MetaStore嵌入到了Hive进程中,每启动一次Hive服务都内置启动了一个MetaStore。3远程模式
当MetaStore元数据存储采用远程模式时
1优点: 可以单独使用外部库(mysql) 还可以共享元数据。可以连接MetaStore服务也可以连接hiveserver2服务2缺点: 需要注意如果想要启动hiveserver2服务则先需要启动MetaStore服务。4启动MetaStore与HiveServer2
在hive安装的服务器上首先启动MetaStore服务然后启动hiveserver2服务。 1进入/export/server/apache-hive-3.1.2-bin/bin目录后启动MetaStore服务命令
[rootnode1 apache-hive-3.1.2-bin]# [nohup] ./hive --service metastore
#启动hiveserver2服务 [rootnode1 apache-hive-3.1.2-bin]# [nohup] ./hive --service hiveserver2 a查看进程是否开启命令
# 可以使用lsof命令查看对应进程是否开启
[rootnode1 apache-hive-3.1.2-bin]# lsof -i:10000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 18804 root 520u IPv6 266172 0t0 TCP *:ndmp (LISTEN)b杀死进程[关闭Hive服务]时命令
kill -9 进程号2当进程启动不成功时需要杀死所有已经启动的runjar程序然后再开始重新启动
5HiveServer2服务
Beeline是JDBC的客户端通过JDBC协议和Hiveserver2服务进行通信协议的地址是jdbc:hive2://node1:10000。 使用Beeline客户端连接Hive时命令
1启动Beeline进入hive的bin目录后:
./beeline2连接Hive
! connect jdbc:hive2://node1:10000[rootnode1 ~]# /export/server/hive/bin/beeline
Beeline version 3.1.2 by Apache Hive
beeline ! connect jdbc:hive2://node1:10000
Connecting to jdbc:hive2://node1:10000
Enter username for jdbc:hive2://node1:10000: root
Enter password for jdbc:hive2://node1:10000:
Connected to: Apache Hive (version 3.1.2)
Driver: Hive JDBC (version 3.1.2)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://node1:10000 6Hive环境变量
1Shell脚本执行方式有三种 方式一sh执行 格式: sh 脚本 注意: 需要进入脚本的所在工作目录然后使用对应的sh命令来执行脚本 这种执行方式脚本文件不需要具有可执行权限。 2相对路径执行 格式: ./脚本 注意: 需要先进入到脚本所在的目录然后使用 ./脚本方式执行 这种执行方式必须保证脚本文件具有可执行权限。 3方式三绝对路径执行 格式: /绝对路径/脚本 注意: 需要使用脚本的绝对路径中执行指的是直接 4配置Hive的环境变量命令
echo export HIVE_HOME/export/server/apache-hive-3.1.2-bin /etc/profile
echo export PATH$PATH:$HIVE_HOME/bin:$HIVE_HOME/sbin /etc/profile
source /etc/profile另外的也可以把使用Vi把如下配置Hive环境变量的语句添加到/etc/profile结尾处
# HIVE_HOME
export HIVE_HOME/export/server/apache-hive-3.1.2-bin
export PATH$PATH:$HIVE_HOME/bin:$HIVE_HOME/sbin7Hive使用
1使用SQL操作Hive
1创建表CREATE TABLE test(id INT, name STRING, gender STRING);2插入数据INSERT INTO test VALUES(1, 肖战, 男), (2, 周杰伦, 男), (3, 迪丽热巴, 女);3查询数据SELECT gender, COUNT(*) AS cnt FROM test GROUP BY gender;1验证SQL语句启动的MapReduce程序
打开YARN的WEB UI页面查看任务情况http://node1:8088
2验证Hive的数据存储
Hive的数据存储在HDFS的/user/hive/warehouse中。
4数据仓库和数据库
1数据库DataBase,简称为DB 用于把数据结果给外部各类程序使用侧重于增删查改。
2数据仓库Data Warehouse可简写为DW或DWH 用于分析历史数据而存在为企业提供决策支持。 2数据库和数据仓库的区别就是说OLTP与OLAP的区别。 (1)OLTP联机事务处理
操作型处理叫联机事务处理OLTPOn-Line Transaction Processing也可以称面向交易的处理系统。
OLTP是针对具体业务在数据库联机的日常操作通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。传统的数据库系统常用于数据管理比如对数据增删查改属于操作型处理。2OLAP联机分析处理
分析型处理叫联机分析处理OLAPOn-Line Analytical Processing一般针对某些主题的历史数据进行分析支持管理决策。3,值得注意的是数据仓库的出现并不是要取代数据库。
通常数据仓库的主要特征有
a面向主题的Subject-Oriented
b集成的Integrated
c非易失的Non-Volatile[或不可更新性]
d时变的Time-Variant 数据仓库是在数据库已经大量存在的情况下为了进一步挖掘数据资源、为了决策需要而产生的。 4,主要区别如下 A数据库是面向事务的设计数据仓库是面向主题设计的
B数据库一般存储业务数据数据仓库存储的一般是历史数据
C数据库是为捕获数据而设计数据仓库是为分析数据而设计
D数据库设计是尽量避免冗余一般针对某一业务应用进行设计比如一张简单的User表记录用户名、密码等简单数据即可符合业务应用但是不符合分析而数据仓库在设计是有意引入冗余依照分析需求分析维度、分析指标进行设计
数仓的分层架构
存在意义数据仓库出于对历史数据进行分析性报告、决策支持目的而创建的。目的是构建面向分析的集成化数据环境为企业提供决策支持。 1数据仓库中的数据源来自企业 1RDBMS关系型数据库—业务数据 2log file-----日志文件数据
3爬虫数据 4其他数据 2数据仓库的发展大致经历了三个阶段 a简单报表阶段
解决一些日常的工作中业务人员需要的报表以及生成一些简单的能够帮助领导进行决策所需要的汇总数据。这个阶段的大部分表现形式为数据库和前端报表工具。
b数据集市阶段
根据某个业务部门的需要进行一定的数据采集、整理按照业务人员的需要进行多维报表的展现能够提供对特定业务指导的数据并且能够提供特定的领导决策数据。
c数据仓库阶段
按照一定的数据模型对整个企业的数据进行采集、整理并且能够按照各个业务部门的需要提供跨部门的完全一致的业务报表数据能够通过数据仓库生成对对业务具有指导性的数据同时为领导决策提供全面的数据支持。 3数据仓库的架构可分为三层 1源数据层ODS直接使用外部系统数据结构和数据这是接口数据的临时存储区域为后一步的数据处理做准备
2数据仓库层DW也称为细节层DW层的数据应该是一致的、准确的、干净的数据即对源系统数据进行了清洗后的数据
3数据应用层DA或APP前端应用直接读取的数据源也是根据报表、专题分析需求而计算生成的数据。
4ETL与ELT 数据仓库从各个数据源中获取数据及在数据仓库内的数据转换和流动都可以认为是ETL抽取Extract转化Transform 装载Load的过程。 1ETL
先从数据源池中抽取数据并把数据保存在临时暂存数据库中ODS。
然后执行转换操作将数据结构化并转换为适合目标数据仓库DW系统的形式然后将结构化数据加载到数据仓库中进行分析。 2ELT
使用ELT时数据在从数据源中提取后立即加载。没有专门的临时数据库ODS这意味着数据会立即加载到单一的集中存储库中。
数据在数据仓库系统中进行转换然后进行分析。大数据时代数仓这个特点很明显
5数据库操作
1HQL数据定义语言 数据定义语言 (Data Definition LanguageDDL)指的是SQL语言集中对数据库内部的对象结构进行创建、删除、修改等操作。
其中数据库对象包括有数据库databaseschema、数据表table、视图view、索引index等。 核心语法 1CREATE 创建
2ALTER 删除
3DROP 修改 2创建数据库
create database [if not exists] 数据库名
[comment 解释说明]
[location 存储到HDFS路径名]
[with dbproperties (属性名值, ...)];指定文件夹下创建数据库
create database zuo location /zuo;3查看数据库信息
desc database [extended] 数据库名;1extended用于显示更多信息比如位置路径等
2查看数据库信息时记得加上database。
查看正在使用哪个数据库 select current_database();4如果要查看创建数据库的语句时命令
show create database itcast;5删除库 DROP DATABASE语句用于删除数据库。语法
drop database 数据库名 [restrict | cascade];若要删除带有数据表的数据库zuo时记得在语句结尾处添加cascade。 6修改库 ALTER DATABASE语句可用于更改与Hive中的数据库关联的元数据信息。语法
-- 修改数据库存储路径
alter database 数据库名 set location 存储路径名;-- 修改或新增数据库配置属性
alter database 数据库名 set dbproperties (属性名值, ...);使用alter语法来修改数据库的属性
alter database zuo set dbproperties(create_time21:15);
desc database extended zuo; 文章转载自: http://www.morning.lfqtp.cn.gov.cn.lfqtp.cn http://www.morning.stlgg.cn.gov.cn.stlgg.cn http://www.morning.xkppj.cn.gov.cn.xkppj.cn http://www.morning.yrdkl.cn.gov.cn.yrdkl.cn http://www.morning.nzmhk.cn.gov.cn.nzmhk.cn http://www.morning.kgxyd.cn.gov.cn.kgxyd.cn http://www.morning.rkbly.cn.gov.cn.rkbly.cn http://www.morning.jrhcp.cn.gov.cn.jrhcp.cn http://www.morning.dfdhx.cn.gov.cn.dfdhx.cn http://www.morning.jgykx.cn.gov.cn.jgykx.cn http://www.morning.jfnlj.cn.gov.cn.jfnlj.cn http://www.morning.ldzxf.cn.gov.cn.ldzxf.cn http://www.morning.fqcdh.cn.gov.cn.fqcdh.cn http://www.morning.jpbky.cn.gov.cn.jpbky.cn http://www.morning.nmngg.cn.gov.cn.nmngg.cn http://www.morning.gcspr.cn.gov.cn.gcspr.cn http://www.morning.mumgou.com.gov.cn.mumgou.com http://www.morning.myzfz.com.gov.cn.myzfz.com http://www.morning.cgmzt.cn.gov.cn.cgmzt.cn http://www.morning.wfdlz.cn.gov.cn.wfdlz.cn http://www.morning.kxwsn.cn.gov.cn.kxwsn.cn http://www.morning.fjtnh.cn.gov.cn.fjtnh.cn http://www.morning.mlbdr.cn.gov.cn.mlbdr.cn http://www.morning.skrww.cn.gov.cn.skrww.cn http://www.morning.smfbw.cn.gov.cn.smfbw.cn http://www.morning.dxzcr.cn.gov.cn.dxzcr.cn http://www.morning.pwbps.cn.gov.cn.pwbps.cn http://www.morning.yrlfy.cn.gov.cn.yrlfy.cn http://www.morning.npxcc.cn.gov.cn.npxcc.cn http://www.morning.srjbs.cn.gov.cn.srjbs.cn http://www.morning.nzklw.cn.gov.cn.nzklw.cn http://www.morning.xrmwc.cn.gov.cn.xrmwc.cn http://www.morning.czlzn.cn.gov.cn.czlzn.cn http://www.morning.bqmdl.cn.gov.cn.bqmdl.cn http://www.morning.qbjrl.cn.gov.cn.qbjrl.cn http://www.morning.fkmrj.cn.gov.cn.fkmrj.cn http://www.morning.qqnjr.cn.gov.cn.qqnjr.cn http://www.morning.zwfgh.cn.gov.cn.zwfgh.cn http://www.morning.ctpfq.cn.gov.cn.ctpfq.cn http://www.morning.yqpzl.cn.gov.cn.yqpzl.cn http://www.morning.wrtpk.cn.gov.cn.wrtpk.cn http://www.morning.mbfkt.cn.gov.cn.mbfkt.cn http://www.morning.dhtdl.cn.gov.cn.dhtdl.cn http://www.morning.kydrb.cn.gov.cn.kydrb.cn http://www.morning.wjndl.cn.gov.cn.wjndl.cn http://www.morning.grryh.cn.gov.cn.grryh.cn http://www.morning.zfrs.cn.gov.cn.zfrs.cn http://www.morning.bgpb.cn.gov.cn.bgpb.cn http://www.morning.xpqdf.cn.gov.cn.xpqdf.cn http://www.morning.tgfjm.cn.gov.cn.tgfjm.cn http://www.morning.xnfg.cn.gov.cn.xnfg.cn http://www.morning.jkmjm.cn.gov.cn.jkmjm.cn http://www.morning.jntcr.cn.gov.cn.jntcr.cn http://www.morning.tgtwy.cn.gov.cn.tgtwy.cn http://www.morning.kfhm.cn.gov.cn.kfhm.cn http://www.morning.cnprt.cn.gov.cn.cnprt.cn http://www.morning.kpyyf.cn.gov.cn.kpyyf.cn http://www.morning.pmptm.cn.gov.cn.pmptm.cn http://www.morning.hlfgm.cn.gov.cn.hlfgm.cn http://www.morning.rhzzf.cn.gov.cn.rhzzf.cn http://www.morning.alive-8.com.gov.cn.alive-8.com http://www.morning.yhpq.cn.gov.cn.yhpq.cn http://www.morning.sqqhd.cn.gov.cn.sqqhd.cn http://www.morning.flzqq.cn.gov.cn.flzqq.cn http://www.morning.ddxjr.cn.gov.cn.ddxjr.cn http://www.morning.rgkd.cn.gov.cn.rgkd.cn http://www.morning.ngcsh.cn.gov.cn.ngcsh.cn http://www.morning.przc.cn.gov.cn.przc.cn http://www.morning.cmzcp.cn.gov.cn.cmzcp.cn http://www.morning.rmdsd.cn.gov.cn.rmdsd.cn http://www.morning.fnywn.cn.gov.cn.fnywn.cn http://www.morning.gsdbg.cn.gov.cn.gsdbg.cn http://www.morning.qfwzm.cn.gov.cn.qfwzm.cn http://www.morning.nqbpz.cn.gov.cn.nqbpz.cn http://www.morning.trkhx.cn.gov.cn.trkhx.cn http://www.morning.qttft.cn.gov.cn.qttft.cn http://www.morning.jyznn.cn.gov.cn.jyznn.cn http://www.morning.yjfzk.cn.gov.cn.yjfzk.cn http://www.morning.kghhl.cn.gov.cn.kghhl.cn http://www.morning.xdjwh.cn.gov.cn.xdjwh.cn