Hive分布式数据仓库

Hive是一款基于Hadoop的数据仓库软件,适用于OLAP分析和数据汇总。它支持Tez、Spark等多种计算引擎,提供灵活的ETL操作,并具备高可靠性、高容错性和类似SQL的语法。Hive的接口包括Beeline、JDBC、Thrift和Python等,运行过程中通过Client提交HQL,由Tez或Spark执行,并在YARN上分配资源。此外,Hive还支持分区和桶的组织方式,方便数据管理和分析。尽管是离线分析工具,具有一定的延迟,但在数据仓库领域表现出显著的优势。
摘要由CSDN通过智能技术生成

Hive是基于Hadoop的数据仓库软件      

数据库适用于OLTP(联机事务管理-增删改查的操作)__中的数据时实时更新的
数据仓库适用于OLAP(联机事务分析-对历史数据进行分析或者汇总)

特性:灵活方便的extract transform load   
      支持 Tez(默认引擎) spark多种引擎  
      可以直接访问HDFS HBase
应用场景----->数据挖掘 非实时性分析 数据汇总 数据仓库

       优点
高可靠(集群存储 一两个错误没影响)高容错  类似SQL语法  可扩展  多接口
接口:Beeline   JDBC  Thrift  Python  ODBC

Hive运行过程
Client提交HQL命令
Tez执行查询
YARN为集群中的应用程序分配资源 并未YARN队列中的Hive作业启用授权
Hive根据表类型更新HDFS或Hive仓库中的数据
Hive通过JDBC连接返回查询结果

             数据库--->区分不同业务的数据
                表  |
分区(按照字段|进行划分  相同的数据放到同一个分区)   -桶(利用hash分区方式放到不同桶)       倾斜数据 正常数据    
                     |                                                                     
                     |
分区数量不固定 建表时指定桶个数 桶内可排序
内部表create table                            创建外部表 create external  表名        临时表create temporary存放临时结果或中见结果 用于过度
会将数据移动到数据仓库指定的路径   localtion指定放在那个目录  可无    

1. HIVE结构 6 1.1 HIVE架构 6 1.2 Hive 和 Hadoop 关系 7 1.3 Hive 和普通关系数据库的异同 8 1.4 HIVE元数据库 9 1.4.1 DERBY 9 1.4.2 Mysql 10 1.5 HIVE的数据存储 11 1.6 其它HIVE操作 11 2. HIVE 基本操作 12 2.1 create table 12 2.1.1 总述 12 2.1.2 语法 12 2.1.3 基本例子 14 2.1.4 创建分区 15 2.1.5 其它例子 16 2.2 Alter Table 17 2.2.1 Add Partitions 17 2.2.2 Drop Partitions 17 2.2.3 Rename Table 17 2.2.4 Change Column 18 2.2.5 Add/Replace Columns 18 2.3 Create View 18 2.4 Show 19 2.5 Load 19 2.6 Insert 21 2.6.1 Inserting data into Hive Tables from queries 21 2.6.2 Writing data into filesystem from queries 21 2.7 Cli 22 2.7.1 Hive Command line Options 22 2.7.2 Hive interactive Shell Command 24 2.7.3 Hive Resources 24 2.7.4 调用python、shell等语言 25 2.8 DROP 26 2.9 其它 27 2.9.1 Limit 27 2.9.2 Top k 27 2.9.3 REGEX Column Specification 27 3. Hive Select 27 3.1 Group By 28 3.2 Order /Sort By 28 4. Hive Join 29 5. HIVE参数设置 31 6. HIVE UDF 33 6.1 基本函数 33 6.1.1 关系操作符 33 6.1.2 代数操作符 34 6.1.3 逻辑操作符 35 6.1.4 复杂类型操作符 35 6.1.5 内建函数 36 6.1.6 数学函数 36 6.1.7 集合函数 36 6.1.8 类型转换 36 6.1.9 日期函数 36 6.1.10 条件函数 37 6.1.11 字符串函数 37 6.2 UDTF 39 6.2.1 Explode 39 7. HIVE 的MAP/REDUCE 41 7.1 JOIN 41 7.2 GROUP BY 42 7.3 DISTINCT 42 8. 使用HIVE注意点 43 8.1 字符集 43 8.2 压缩 43 8.3 count(distinct) 43 8.4 JOIN 43 8.5 DML操作 44 8.6 HAVING 44 8.7 子查询 44 8.8 Join中处理null值的语义区别 44 9. 优化与技巧 47 9.1 全排序 47 9.1.1 例1 48 9.1.2 例2 51 9.2 怎样做笛卡尔积 54 9.3 怎样写exist/in子句 54 9.4 怎样决定reducer个数 55 9.5 合并MapReduce操作 55 9.6 Bucket 与 sampling 56 9.7 Partition 57 9.8 JOIN 58 9.8.1 JOIN原则 58 9.8.2 Map Join 58 9.8.3 大表Join的数据偏斜 60 9.9 合并小文件 62 9.10 Group By 62 10. HIVE FAQ: 62
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值