[ Hive基础 ] (138)
Hive是什么
是有facebook开源,基于hado ...
Hive基本原理
是一个hadoop客户端工具,用于将H ...
HiveServer2服务
提供 JDBC/ODBC接口,为用户提 ...
用户访问权限
hive.server2.enable ...
Metastore服务
为Hive CLI或者Hiveserv ...
独立服务模式
默认模式。 ...
SQL Parser 解析器
将sql字符串转换成抽象语法树AST, ...
Semantic Analyzer 语义分析器
将AST划分为QeuryBlock ...
Logical Plan Gen 逻辑计划生成器
将语法树转换成逻辑计划 ...
Logical Optimizer 逻辑优化器
将逻辑计划进行优化 ...
Physical Plan Gen 物理计划生成器
根据优化的逻辑计划生成物理计划,即Ma ...
Physical Optimizer 物理优化器
将物理计划进行优化 ...
Execution 执行器
执行物理计划,得到结果返回 ...
隐式转换
类型可以向范围更大的类型隐式转换。 ...
显式转换
cast(feild as
类型取值范围
按照取值范围进行从小到大排序,转换对照 ...
创建数据库
create database dbn ...
查询数据库
show databases ; ...
修改数据库
alter database; 数据库 ...
删除数据库
drop database ; ...
创建分区
create table part_t ...
查看分区
show partitions par ...
增加分区
alter table part_ta ...
删除分区
alter table part_ta ...
msck repair table part_table drop partitions;
增加存在的路径但是元数据没有的分区。 ...
msck repair table part_table add partitions;
删除不存在的路径但是元数据还有的分区。 ...
msck repair table part_table sync partitions;
相当于执行以上两个命令。 ...
msck repair table part_table;
等价于 msck repair ta ...
二级分区表
create table table_ ...
分桶表
create table table_ ...
分桶排序表
create table table_ ...
序列化 row format
serde 序列号和反序列化器, 默认 ...
delimited
每个字段按照特定分隔符进行分割。 ...
fields teminated by
列分隔符 ...
collection items teminated by
map,struct,array中元素 ...
map keys terminate by
map中key与value的分隔符 ...
lines terminated by
行分隔符 ...
null defined as
空值符号 ...
create table as select ... (CTAS)
这种方式建表不允许构建外部表 ...
create table like ...
复制表结构 ...
查看表
show tables; desc ...
表重命名
alter table ... ren ...
修改列信息
修改的都是元数据 ...
增加列
alter table ... add ...
更新列
alter table ... cha ...
替换列
重新定义表中所有列, alter t ...
删除表
drop table table_na ...
清空表
truncate table tabl ...
load
load data inpath '' ...
将查询结果写入表
isnert into table t ...
将给定数据写入表
insert into table t ...
将查询结果写入路径
insert overwrite di ...
export/import
export table table_ ...
基本查询
select * from table ...
查看函数命令
show functions; de ...
关系运算符
主要用于where和having语句中 ...
count
count(*),count(1):对 ...
窗口分析函数 Window functions
为每行数据划分一个窗口,然后对窗口内的 ...
语法
函数(...) over(窗口范围) ...
基于行
order by [field] ro ...
基于值
order by [field] ra ...
分区
partition by [field ...
缺省
over() 中partition b ...
over中有order by
默认值: range between ...
over中没有order by
默认值:rows between un ...
跨行取值函数
lead/lag : 不支持自定义 ...
lead
lead(字段,偏移量,默认值) 后一 ...
lag
lag(字段,偏移量,默认值) 前一 ...
first_value
first_value(字段,是否跳过 ...
last_value
last_value(字段,是否跳过n ...
排名函数
rank/dense_rank/row ...
rank
rank() over(partiti ...
dense_rank
dense_rank() over(p ...
row_number
row_number() over(p ...
lateral view
将udtf函数应用到源表的每行数据,将 ...
创建临时函数
create temporary fu ...
创建永久函数
create function my_ ...
自定义函数 UDF user-defined function
一进一出,实现类 GenericUDF ...
DEFLATE
算法:DEFLATE,扩展名:.def ...
Gzip
算法:DEFLATE,扩展名:.gz, ...
bzip2
算法:bzip2,扩展名:.bz2,是 ...
LZO
算法:LZO,扩展名:.lzo,是否切 ...
Snappy
算法:Snappy,扩展名:.snap ...
行存储
一次需要读取一整行数据。 ...
列存储
一次只需要读取一列或者几列数据。 ...
Text file
行存储 ...
Orc
列存储,读取orc文件,需要从Post ...
Index Data
各个field的最大值,最小值,行位置 ...
Stripe Footer
各个column的编码等信息 ...
File Footer
Header长度; 各个stripe信 ...
Postscript
file footer长度;文件压缩参 ...
建表语句
create table tabl_n ...
orc.compress
默认值:ZLIB,压缩格式:NONE, ...
orc.compress.size
默认值:256kb,每个压缩块的大小 ...
orc.stripe.size
默认值:64M,每个stripe的大小 ...
orc.row.index.stride
默认值:10000,索引步长 ...
Parquet
列存储,读取parquet文件,需要从 ...
建表语句
create table tabl_n ...
parquet.compression
默认值:uncompressed,压缩 ...
parquet.block.size
默认值:128m,行组大小,通常与hd ...
parquet.page.size
默认值:1m,页大小 ...
Textfile
压缩设置 set hive.exec. ...
Orc
压缩设置 create ... sto ...
Parquet
压缩设置 create ... sto ...
单个MR中间结果压缩
压缩设置 set mapreduce. ...
单条SQL中间结果压缩
压缩设置 set hive.exec. ...
yarn.nodemanager.resource.memory-mb
单个nodemanager分配给con ...
yarn.nodemanager.resource.cpu-vcores
单个nodemanager分配给con ...
yarn.scheduler.maximum-allocation-mb
单个container能够使用的最大内 ...
yarn.scheduler.minimum-allocation-mb
单个container能够使用的最小内 ...
mapreduce.map.memory.mb
单个map task申请的contai ...
mapreduce.map.cpu.vcores
单个map task申请的contai ...
mapreduce.reduce.memory.mb
单个reduce task申请的con ...
mapreduce.reduce.cpu.vcores
单个reduce task申请的con ...
Stage
Explain有一系列Stage组成, ...
Operator Tree
一个Stage对应一个MapReduc ...
Operator
常见的Operator有以下几种。 ...
链接:
|