总结笔记1
1.数据颗粒度, 维度
2.是数据量
3.笛卡尔积
加条件,内连接 外连接等
4.行转列 sql case when的理解 造列
行转列 case when / if
列转行 union all
列转换成字符串GROUP_CONCAT
5.hive 中 MR
6.hive join
7. hive sql 优化 案例介绍
减少处理的数据量 分区裁剪,列剪裁
合理的设置map、reduce数量 默认Map数的计算公式为 default_num=total_size/block_size
小文件合并
Shuller过程优化
join优化
数据倾斜优化
8.spark sql / hive sql
9.shell 命令
10. 开窗函数
语法:
select 窗口函数 over (partition by 用于分组的列名, order by 用于排序的列名
分类:
排名函数:row_number(),rank(),dense_rank()
聚合函数:max(),min(),count(),sum(),avg(),median()
向前向后取值:lag(),lead()
百分位:percent_rank()
取值函数:first_value(),last_value(),nth_value()
分箱函数:ntile()
- 逻辑和思维
12.spark的任务划分
Spark应用程序包括Job、Stage以及Task三个概念:
job:以 action 方法为界,一个 action 触发一个 job
stage:它是 job 的子集,以 RDD 宽依赖为界,遇到宽依赖即划分 stage
task:它是 stage 的子集,以分区数来衡量,分区数多少,task 就有多少
sed