1、cross join 用法 最后出来结果为aa1*aa2条记录
select /*+ mapjoin(aa1)*/ aa1.*,aa2.*
from table aa1 --aa1为小一点的表
cross join table aa2
2、正则
,REGEXP_EXTRACT(out,'([[:digit:]]+[^\u4E00-\u9FA5])',1) as n_z1 --80包
REGEXP_EXTRACT(out,'([[:digit:]]+[a-zA-z]+)',1) as n_e1 --30ml
REGEXP_EXTRACT(out,'([[:digit:]]+)([^\u4E00-\u9FA5]{1})',2) as z1 --片
REGEXP_EXTRACT(out,'([a-zA-Z]{3,}[[:digit:]]*)',1) as eee --sds
,REGEXP_replace(out,'[\u4e00-\u9fa5\\\\*\\\\/]','') as zz--得到中文
3.1distribute by 和group by
都是按照key值划分数据
都是使用reduce操作
唯一不同,distribute by 只是单纯的分散数据,而group by 把相同key的数据聚集到一起,后续必须是聚合操作
3.2order by 与sort by
order by 是全局排序
sort by 只是确保每个reduce上面输出的数据有序,如果只有一个reduce时,和order by作用一样