hive hql文档_Hive用户手册)_中文版.doc

Hive用户手册)_中文版.doc

Hive 用户指南 v1.0

目录

1.HIVE结构6

1.1HIVE架构6

1.2Hive 和 Hadoop 关系7

1.3Hive 和普通关系数据库的异同8

1.4HIVE元数据库9

1.4.1DERBY9

1.4.2Mysql10

1.5HIVE的数据存储11

1.6其它HIVE操作11

2.HIVE 基本操作12

2.1create table12

2.1.1总述12

2.1.2语法12

2.1.3基本例子14

2.1.4创建分区15

2.1.5其它例子16

2.2Alter Table17

2.2.1Add Partitions17

2.2.2Drop Partitions17

2.2.3Rename Table17

2.2.4Change Column18

2.2.5Add/Replace Columns18

2.3Create View18

2.4Show19

2.5Load19

2.6Insert21

2.6.1Inserting data into Hive Tables from queries21

2.6.2Writing data into filesystem from queries21

2.7Cli22

2.7.1Hive Command line Options22

2.7.2Hive interactive Shell Command24

2.7.3Hive Resources24

2.7.4调用python、shell等语言25

2.8DROP26

2.9其它27

2.9.1Limit27

2.9.2Top k27

2.9.3REGEX Column Specification27

3.Hive Select27

3.1Group By28

3.2Order /Sort By28

4.Hive Join29

5.HIVE参数设置31

6.HIVE UDF33

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.2UDTF39

6.2.1Explode39

7.HIVE 的MAP/REDUCE41

7.1JOIN41

7.2GROUP BY42

7.3DISTINCT42

8.使用HIVE注意点43

8.1字符集43

8.2压缩43

8.3count(distinct)43

8.4JOIN43

8.5DML操作44

8.6HAVING44

8.7子查询44

8.8Join中处理null值的语义区别44

9.优化与技巧47

9.1全排序47

9.1.1例148

9.1.2例251

9.2怎样做笛卡尔积54

9.3怎样写exist/in子句54

9.4怎样决定reducer个数55

9.5合并MapReduce操作55

9.6Bucket 与 sampling56

9.7Partition57

9.8JOIN58

9.8.1JOIN原则58

9.8.2Map Join58

9.8.3大表Join的数据偏斜60

9.9合并小文件62

9.10Group By62

10.HIVE FAQ:62

HIVE结构

Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 QL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。

HIVE架构

Hive 的结构可以分为以下几部分:

用户接口:包括 CLI, Client, WUI

元数据存储。通常是存储在关系数据库如 mysql, derby 中

解释器、编译器、优化器、执行器

Hadoop:用 HDFS 进行存储,利用 MapReduce 进行计算

用户接口主要有三个:CLI,Client 和 WUI。其中最常用的是

你可能感兴趣的:(hive,hql文档)