Hive从入门到精通-概览

简介:

CentOS7上安装集群环境:Zookeeper+Hadoop3+Tez+Hive+Spark+Jupyter+Oozie+Sqoop

安装环境及版本:

虚拟机:VirtualBox6.0
操作系统:CentOS-7-x86_64-Everything-1804.iso
Zookeeper:zookeeper-3.4.10.tar.gz
Hadoop3:hadoop-3.1.2.tar.gz
Maven:apache-maven-3.6.0-bin.tar.gz
Tez:apache-tez-0.9.0-src.tar.gz
MySQL:mysql-5.7.18
Hive:apache-hive-3.1.1-bin.tar.gz
Spark:spark-2.4.0-bin-hadoop3.1.2.tgz
Anaconda3:Anaconda3-2018.12-Linux-x86_64.sh
Toree:toree-0.3.0.tar.gz
findspark:findspark-1.3.0-py2.py3-none-any.whl
Scala:scala-2.11.12.tgz
Oozie:oozie-5.0.0-distro.tar.gz、oozie-sharelib-5.0.0.tar.gz
Sqoop:sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

目录:

一、基础知识
    1.1 起点准备
        1.1.1 Hadoop
        1.1.2 数据仓库
    1.2 什么是Hive
        1.2.1 Hive元数据metadata
        1.2.2 HQL执行过程
        1.2.3 体系结构
        1.2.4 和Pig、HBase关系
        1.2.5 和Spark关系

二、环境搭建
    2.1 集群搭建
        2.1.1 集群介绍
        2.1.2 环境配置
    2.2 集群启停
        2.2.1 启停配置
        2.2.2 启动集群
        2.2.3 停止集群
        2.2.4 集群进程说明
    2.3 集群验证
        2.3.1 Hive
        2.3.2 Mysql

三、基础操作
    3.1 Hive进入方式
        3.1.1 ./hive
        3.1.2 hive
        3.1.3 hive –service cli
    3.2 常用命令
        3.2.1 清屏
        3.2.2 Hive中一次使用命令
        3.2.3 数据库操作
        3.2.4 表操作
        3.2.5 HQL语句
        3.2.6 变量和属性set
        3.2.7 查看内置函数
        3.2.8 使用Hadoop的dfs命令
        3.2.9 Hive下执行Linux命令
    
四、数据类型
    4.1 基本数据类型
        4.1.1 CHAR、VARCHAR
    4.2 集合数据类型
        4.2.1 ARRAY
        4.2.2 MAP
        4.2.3 STRUCT
    4.3 时间数据类型
        4.3.1 TIMESTAMP
        4.3.2 DATE
    
五、数据定义
    5.1 内部表
        5.1.1 创建内部表
        5.1.2 修改表结构
        5.1.3 删除内部表
    5.2 外部表
        5.2.1 数据文件
        5.2.2 创建外部表
        5.2.3 删除外部表
    5.3 分区表
        5.3.1 创建分区表
        5.3.2 效率对比
        5.3.3 删除分区表
    5.4 桶表
        5.4.1 创建桶表
        5.4.2 导入数据
        5.4.3 删除桶表
    5.5 视图
        5.5.1 创建视图
        5.5.2 使用视图
        5.5.3 删除视图
    
六、数据操作
    6.1 Load导入
        6.1.1 语法格式
        6.1.2 本地导入
        6.1.3 HDFS导入
        6.1.4 导入分区
        6.1.5 复杂类型导入
    6.2 表互相导入数据
        6.2.1 通过查询插入数据
        6.2.2 创建表并加载数据
    6.3 Sqoop导入导出
        6.3.1 Sqoop安装
        6.3.2 Sqoop导入导出
    
七、数据查询
    7.1 环境准备
        7.1.1 准备数据
        7.1.2 创建库
        7.1.3 创建表
        7.1.4 导入数据
    7.2 简单查询
        7.2.1 空值NULL
        7.2.2 distinct
        7.2.3 fetch task
        7.2.4 limit
    7.3 过滤
        7.3.1 比较运算符
        7.3.2 浮点数的比较
        7.3.3 like、not like、rlike
        7.3.4 and、or
    7.4 分组Group by
        7.4.1 having
    7.5 排序order by
    7.6 子查询
    7.7 join
        7.7.1 笛卡尔积
        7.7.2 等值连接
        7.7.3 不等值连接
        7.7.4 内连接
        7.7.5 外连接
        7.7.6 半开连接
        7.7.7 自连接
        7.7.8 map-side JOIN连接
    
八、Hive函数
    8.1 内置函数
        8.1.1 数学函数
        8.1.2 字符函数
        8.1.3 收集函数
        8.1.4 转换函数
        8.1.5 日期函数
        8.1.6 条件函数
    8.2 聚合函数
    8.3 表生成函数
        8.3.1 explode
        8.3.2 lateral view
    8.4 其他
        8.4.1 集合函数
        8.4.2 json函数
    8.5 自定义函数
        8.5.1 新建Eclipse工程
        8.5.2 UDF
        8.5.3 GenricUDF
    
九、调优
    9.1 Explain
        9.1.1 Explain extended
    9.2 limit
    9.3 join优化
    9.4 并行执行

十、Thrift服务
    10.1 JDBC客户端操作

十一、Hive锁
    11.1 Zookeeper
        11.1.1 使用场景
        11.1.2 目标
    11.2 锁和zk文件关系
        11.2.1 加锁
        11.2.2 解锁
    11.3 Hive锁
        11.3.1 加锁
        11.3.2 解锁
        11.3.3 锁异常

十二、Hive和Spark整合
    12.1 环境搭建
        12.1.1 启停配置
        12.1.2 启动集群
        12.1.3 停止集群
        12.1.4 集群进程说明
        12.1.5 Spark集群模式
    12.2 推荐模型分类
        12.2.1 内容过滤
        12.2.2 协同过滤
        12.2.3 矩阵分解
        12.2.4 ALS训练
    12.3 案例
        12.3.1 下载数据源
        12.3.2 上传数据源
        12.3.3 创建Hive
        12.3.4 运行-逐条执行
        12.3.5 测试-脚本运行

十三、Hive和Oozie整合
    13.1 架构
    13.2 流程
    13.3 环境搭建
        13.3.1 启停配置
        13.3.2 启动集群
        13.3.3 停止集群
        13.3.4 集群进程说明
    13.4 案例
        13.4.1 配置文件解析
        13.4.2 Hive2 Action

附件A:修改hosts文件

发表回复