知识卡片
Hive以SQL换MR
内容
Hive 把 SQL 编译成 MapReduce,让分析人员用声明式语言处理 HDFS 数据。它降低使用门槛,但查询延迟受 MR 启动作业和落盘影响,更适合离线数仓而非交互式探索。
参考来源
- 位置:《大数据日知录:架构与算法》第13章《交互式数据分析》"13.1.1 Hive"一节(源文件:_epub-src/OEBPS/text00018.html)
- 结论依据:原文明确"Hive将类SQL语言转换为一系列MR任务来实现数据的处理,以此手段来达到便利操作数据仓库的目的",并说明其查询编译器"将HiveQL语句编译转换为内部表示的由MR任务构成的DAG任务图",执行引擎依次调度这些MR任务完成查询。
- 原始内容:Hive将类SQL语言转换为一系列MR任务来实现数据的处理,以此手段来达到便利操作数据仓库的目的……查询编译器(Query Compiler):其负责将HiveQL语句编译转换为内部表示的由MR任务构成的DAG任务图。执行引擎(Execution Engine):以查询编译器的输出作为输入,根据DAG任务图中各个MR任务之间的依赖关系,依次调度执行MR任务来完成HiveQL的最终执行。