[ Hive基础 ]
[ (思维导图) ] (17152)
-隐藏-
+展开+
+展开+
提供 JDBC/ODBC接口,为用户提 ...
+展开+
hive.server2.enable ...
为Hive CLI或者Hiveserv ...
+展开+
+展开+
将sql字符串转换成抽象语法树AST, ...
语义分析器遍历 AST 抽象出 Que ...
逻辑计划生成器遍历 QueryBloc ...
逻辑计划优化器对 OperatorTr ...
物理计划生成器遍历 OperatorT ...
物理计划优化器再对 TaskTree ...
执行物理计划,得到结果并返回。
MR、spark、tez,默认MR。 ...
+展开+
+展开+
是一种离线计算框架,将一个算法抽象成M ...
是基于Hadoop YARN之上的DA ...
Hive on Spark总体的设计思 ...
hive.execution.engi ...
+展开+
Hive既作为存储元数据又负责SQL的 ...
Hive只作为存储元数据(提供数据源) ...
+展开+
+展开+
+展开+
+展开+
+展开+
+展开+
+展开+
+展开+
+展开+
create table table_ ...
+展开+
create table table_ ...
serde 序列号和反序列化器,默认 ...
+展开+
每个字段按照特定分隔符进行分割。
列分隔符
map,struct,array中元素 ...
map中key与value的分隔符
行分隔符
空值符号
这种方式建表不允许构建外部表
复制表结构
show tables; desc t ...
+展开+
drop table table_na ...
truncate table tabl ...
+展开+
load data inpath '' ...
+展开+
export table table_ ...
+展开+
+展开+
+展开+
+展开+
show functions; des ...
+展开+
+展开+
+展开+
+展开+
展开array或者Map,对一行数据进 ...
+展开+
将一行数据转为多行之后,还会输出数据的 ...
+展开+
将单列扩展成多行,
+展开+
将udtf函数应用到源表的每行数据,将 ...
为每行数据划分一个窗口,然后对窗口内的 ...
+展开+
函数(...) over(窗口范围) ...
+展开+
+展开+
order by [field] ro ...
order by [field] ra ...
partition by [field ...
over() 中partition b ...
+展开+
+展开+
默认值: range between ...
默认值:rows between un ...
+展开+
+展开+
lead/lag : 不支持自定义 ...
+展开+
lead(字段,偏移量,默认值)后一行 ...
lag(字段,偏移量,默认值) 前一行 ...
first_value(字段,是否跳过 ...
last_value(字段,是否跳过n ...
rank/dense_rank/row ...
+展开+
rank() over(partiti ...
dense_rank() over(p ...
row_number() over(p ...
+展开+
create temporary fu ...
create function my_ ...
+展开+
一进一出,实现类 GenericUDF ...
多进一出,user-defined a ...
一进多出,user-defined t ...
+展开+
+展开+
+展开+
+展开+
行存储
列存储,读取orc文件,需要从Post ...
+展开+
+展开+
+展开+
各个field的最大值,最小值,行位置 ...
各个column的编码等信息
Header长度;各个stripe信息 ...
file footer长度;文件压缩参 ...
create table tabl_n ...
+展开+
+展开+
默认值:ZLIB,压缩格式:NONE, ...
默认值:256kb,每个压缩块的大小 ...
默认值:64M,每个stripe的大小 ...
默认值:10000,索引步长
列存储,读取parquet文件,需要从 ...
+展开+
+展开+
create table tabl_n ...
+展开+
+展开+
默认值:uncompressed,压缩 ...
默认值:128m,行组大小,通常与hd ...
默认值:1m,页大小
+展开+
+展开+
+展开+
压缩设置set mapreduce.m ...
压缩设置set hive.exec.c ...
+展开+
+展开+
+展开+
单个nodemanager分配给con ...
单个nodemanager分配给con ...
单个container能够使用的最大内 ...
单个container能够使用的最小内 ...
+展开+
单个map task申请的contai ...
单个map task申请的contai ...
单个reduce task申请的con ...
单个reduce task申请的con ...
+展开+
+展开+
Explain有一系列Stage组成, ...
一个Stage对应一个MapReduc ...
+展开+
常见的Operator有以下几种。
+展开+
+展开+
+展开+
+展开+
+展开+
+展开+
如果某个任务的执行时间比其他任务明显长 ...
可以通过执行计划中的 Input(s) ...
可以通过执行计划中的 Output(s ...
可以通过执行计划中的 Shuffle ...
如果某个任务的 Reduce 数量远大 ...
+展开+
主要是减少shuffle数据量,如ma ...
+展开+
在map端维护一个hash table ...
+展开+
开启map-side聚合,set hi ...
检测源表是否适合map-side聚合。 ...
用于检测源表是否适合map-side聚 ...
map-side聚合的hash表,占用 ...
+展开+
map端按照关联字段进行分区,然后sh ...
适用大表join小表。第一个job读取 ...
+展开+
select /*+ mapjoin( ...
在物理优化阶段,判断common jo ...
+展开+
如果是这样,编译阶段生成条件任务con ...
+展开+
每个表都可以作为候选大表
左表可以作为候选大表
右表可以作为候选大表
左右表不能很好的作为候选大表
逻辑判断过程第一部分:+hive.au ...
逻辑判断过程第二部分:+ 有候 ...
逻辑判断过程第三部分:+ ...
+展开+
开启map join自动转换,set ...
common join转换map jo ...
无条件转换map join开启,hiv ...
无条件转换map join的小表总和阈 ...
适用大表join大表。必须都是分桶表, ...
+展开+
select /*+ mapjoin( ...
+展开+
关闭cbo优化,cbo会让hint信息 ...
map join hint默认被忽略( ...
启用bucket map join优化 ...
适用大表join大表。必须都是分桶表, ...
+展开+
开启 Sort Merge Bucke ...
使用自动转换 Sort Merge ...
+展开+
+展开+
参考 Map-Side聚合 相关参数 ...
+展开+
开启分组聚合数据倾斜优化,set hi ...
+展开+
参看 map join 相关参数
原理:为倾斜数据字段单独启动一个map ...
+展开+
+展开+
启动 skew join 优化,set ...
触发 skew join 优化的joi ...
关键点:倾斜数据的key字段打散,非倾 ...
+展开+
+展开+
+展开+
开启map端小文件合并为一个切片(不是 ...
+展开+
设置一个切片的最大值,set mapr ...
+展开+
设置reduce端并行度,默认值-1, ...
设置reduce端并行度的最大值,se ...
设置单个reduce任务的输入数据量, ...
min(ceil(totalInput ...
+展开+
+展开+
mr引擎的聚合操作容易产生小文件输出 ...
+展开+
开启map端小文件合并为一个切片(不是 ...
+展开+
开启map only任务输出小文件合并 ...
开启map reduce任务输出小文件 ...
合并后的文件大小,set hive.m ...
触发小文件合并任务的阈值,如果文件平均 ...
+展开+
计算成本因素:数据行数,CPU,本地I ...
+展开+
是否启用cbo优化。set hive. ...
指尽量将过滤操作前移,移动到数据源,减 ...
+展开+
是否开启谓词下推优化CBO优化也会完成 ...
依赖于CPU的矢量化计算。矢量化查询典 ...
+展开+
开启矢量化查询。如果执行计划中出现 E ...
Fetch指hive在某种情况下查询不 ...
+展开+
设置是否在特定场景转换为fetch任务 ...
+展开+
开启自动转换为本地模式,set hiv ...
本地模式的最大输入数据量,小于该值则转 ...
本地模式的最大输入文件个数,小于该值则 ...
hive将sql语句转换成一个/多个s ...
+展开+
开启并行执行,set hive.exe ...
一个sql语句的最大并行度,默认8。s ...
hive通过设置参数防止危险操作。
+展开+
+展开+
Where条件中没有分区字段过滤条件, ...
+展开+
使用order by排序但没有limi ...
+展开+
join操作没有on语句,就是笛卡尔积 ...
+展开+
+展开+
要求用户相邻两次访问时间间隔小于1分钟 ...
要求用户连续登录,间隔一天也算是连续登 ...
用户在不同的时间段内做不同的事情,如果 ...
+展开+
group by把相同key的数据聚集 ...
按照字段进行分区partition b ...
distribute by是按照字段把 ...
cluster by 等价于 dist ...
链接:
|