英语网站源码,重庆能创科技有限公司,建设银行贵阳银行下载官方网站,重庆知道推广网站方法窗口函数#xff1a; #xff08;1#xff09; OVER()#xff1a;指定分析函数工作的数据窗口大小#xff0c;这个数据窗口大小可能会随着行的变而变化。常用partition by 分区order by排序。 #xff08;2#xff09;CURRENT ROW#xff1a;当前行 #xff08;3…窗口函数 1 OVER()指定分析函数工作的数据窗口大小这个数据窗口大小可能会随着行的变而变化。常用partition by 分区order by排序。 2CURRENT ROW当前行 3n PRECEDING往前n行数据 4 n FOLLOWING往后n行数据 5UNBOUNDED起点UNBOUNDED PRECEDING 表示从前面的起点 UNBOUNDED FOLLOWING表示到后面的终点 6 LAG(col,n)往前第n行数据 7LEAD(col,n)往后第n行数据 8 NTILE(n)把有序分区中的行分发到指定数据的组中各个组有编号编号从1开始对于每一行NTILE返回此行所属的组的编号。注意n必须为int类型。
排序函数 1RANK() 排序相同时会重复总数不会变 2DENSE_RANK() 排序相同时会重复总数会减少 3ROW_NUMBER() 会根据顺序计算
4个By区别 1Sort By分区内有序 2Order By全局排序只有一个Reducer 3Distrbute By类似MR中Partition进行分区结合sort by使用。 4 Cluster By当Distribute by和Sorts by字段相同时可以使用Cluster by方式。Cluster by除了具有Distribute by的功能外还兼具Sort by的功能。但是排序只能是升序排序不能指定排序规则为ASC或者DESC。
Hive优化 1MapJoin 如果不指定MapJoin或者不符合MapJoin的条件那么Hive解析器会将Join操作转换成Common Join即在Reduce阶段完成join。容易发生数据倾斜。可以用MapJoin把小表全部加载到内存在map端进行join避免reducer处理。 2行列过滤 列处理在SELECT中只拿需要的列如果有尽量使用分区过滤少用SELECT *。 行处理在分区剪裁中当使用外关联时如果将副表的过滤条件写在Where后面那么就会先全表关联之后再过滤。 3采用分桶技术 4采用分区技术