从图中可以看出,map阶段的shuffle:
例如word count,当内存缓冲区满的时候会写到磁盘,一个spill,每个spill,进行分区,排序,最后将同一个分区word合并在一起,写入到磁盘中
reduce阶段:将不同map的相同分区的部分,进行merge,最后结果为reduce的输入
hive: Hive可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL去查询分析需要的内容,这套SQL 简称Hive SQL.而mapreduce开发人员可以把己写的mapper 和reducer 作为插件来支持Hive 做更复杂的数据分析。
I1. 顺序
SQL的执行顺序:
-
第一步:执行FROM
-
第二步:WHERE条件过滤
-
第三步:GROUP BY分组
-
第四步:执行SELECT投影列
-
第五步:HAVING条件过滤
-
第六步:执行ORDER BY 排序