您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > Hive数据仓库实践-2
Hive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive数据仓库实践第2课Hive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区法律声明【声明】本视频和幻灯片为炼数成金网络课程的教学资料,所有资料只能在课程内使用,不得在课程以外范围散播,违者将可能被追究法律和经济责任。课程详情访问炼数成金培训网站简介Hive是基于Hadoop的一个数据仓库工具可以将结构化的数据文件映射为一张数据库表,并提供简单的类SQL(HQL)查询功能,可以将HQL语句转换为MapReduce/Tez/Spark任务进行运行学习成本低,可以通过类SQL语句快速实现简单的MR/Tez/SparkJob,节省开发成本适合数据仓库的ETL和统计分析本课程基于CDH5.8.0的Hive版本(1.1.0-cdh5.8.0),仅支持HiveonMapReduce和HiveonSpark,以HiveonMapReduce为主Hive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive安装部署准备条件OS:–Linux(RHEL,CentOS,SUSE,etc)–本实验环境采用CentOSJDK–推荐用OracleHotSpot(JDK6+)支持的Hadoop版本(1.x&2.x):•本实验环境版本2.6.0-cdh5.8.0Hive版本:•本实验环境版本1.1.0-cdh5.8.0Hive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive安装配置MetaStore部署•支持derby/mysql/msserver/oracle/postgresql•一般采用MySQL•采用安装包自带的初始化脚本初始化Hive安装包部署•安装包或者rpm包安装配置文件:•hive-env.sh(Hive环境变量相关)•hive-site.xml(Hive应用配置)Hive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive初体验进入CLI(敲hive命令)输入HQLHive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive命令不仅仅可以在CLI中输入HQL,还支持command命令描述quit/exit退出HiveCLIsetkey=value设置参数或配置变量set列出所有配置参数或变量set-v只列出Hadoop和Hive的配置参数和变量addFILE[S]filepathfilepath*addJAR[S]filepathfilepath*addARCHIVE[S]filepathfilepath*添加文件/Jar包/压缩文件到distributedcache中listFILE[S]listJAR[S]listARCHIVE[S]列出已经添加到distributedcache中的资源(文件/Jar包/压缩文件)deleteFILE[S]filepath*deleteJAR[S]filepath*deleteARCHIVE[S]filepath*删除distributedcache中的资源!command在HiveCLI中执行Shell本地命令dfsdfscommand在HiveCLI中执行dfs命令Hive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区HiveCLI使用参数交互式模式批处理模式hive-e'selecta.colfromtab1a'hive-f/home/my/hive-script.sqlHive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive参数命名空间权限描述hivevar读写用户自定义变量hiveconf读写Hive相关的配置参数system读写Java系统变量env只读Shell环境系统变量Hive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive参数示例Hivevar参数示例Hiveconf参数示例Hive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive参数示例System变量Env变量Hive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive系统架构接口–CLI–HWI–ThriftServer•JDBC/ODBC元数据存储驱动器(Driver)–编译器–优化器–执行器Hadoop–MapReduce计算–HDFS数据存储Hive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive系统架构用户接口–用户接口主要有三个:CLI,ThriftServer和HWI。–最常用的是CLI,Cli启动的时候,会同时启动一个HiveDriver。–ThriftServer是以Thrift协议封装的Hive服务化接口,可以提供跨语言的访问如Python、C++等。并实现了JDBC/ODBC协议–HWI提供了一个基于浏览器访问Hive的途径。Page14Hive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive系统架构元数据存储–Hive将元数据存储在数据库中,如mysql、oracle、derby。–Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。Page15Hive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive系统架构驱动器(Driver)–编译器•完成词法分析、语法分析,将HQL查询解析成AST•AST生成逻辑执行计划•逻辑执行计划生成物理MR执行计划–优化器•对逻辑执行计划进行优化•对物理执行计划进行优化–执行器•生成的物理执行计划转变成MRJob•提交到Hadoop上面执行Page16Hive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive系统架构Page17与传统数据库的对比QLHive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive部署方式内嵌模式–CLIShell/Driver/MetaStoreCli均在一个JVM内部Hive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive部署方式HiveServer2–Driver/MetaStoreCLI均在ThriftServer端–提供JDBC/ODBC协议–做Session隔离,每个Session内部共享一个DriverHive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区Hive部署方式RemoteMetaStoreServer–MetaStore作为一个独立的Thrift服务,而不是每个Driver自己维护一个瘦MetaStore访问DBHive数据仓库实践第一版讲师朱广彬DATAGURU丏业数据分析社区实验启动ClouderaQuickStart虚拟机熟悉Hive环境尝试HiveCLI进行Hive命令操作DATAGURU专业数据分析网站FAQ时间22
本文标题:Hive数据仓库实践-2
链接地址:https://www.777doc.com/doc-4442492 .html