概述

Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件 映射为一张数据库表,并提供类 SQL 查询功能。
本质是将 SQL 转换为 MapReduce 程序。
主要用途:用来做离线数据分析,比直接用 MapReduce 开发效率更高。

工作原理

【大数据笔记04】Hive

  1. RunJar(提交Job的客户端)向Yarn的RM(ResourceManager)申请运行本次应用的AppMaster。
  2. RM接受到请求,返回一个JobID和提交资源的路径,并通过RM在Yarn集群中的其中一个NM(NodeManager)中启动一个容器(AppMaster)。
  3. 客户端根据提交资源的路径,提交资源;并到指定的容器(Container)中启动本次程序的AppMaster。
  4. AM(AppMaster)跟RM注册自己,并且保持连接。
  5. AM去客户端提交的资源中,读取切片规划。比如这里有3个切片的路径。
  6. AP根据读取到的切片信息,向RM申请资源。
  7. RM收到申请,并通过NM启动与申请与资源相应个数的容器个数(这里切片是3个,所以申请了3个Container),并告诉AM,容器的具体位置。
  8. AM在申请到的容器中,运行MR程序(MapTask)。
  9. 当MapTask运行结束后,AM向RM汇报,我已经完成Job了,你可以回收容器了。
  10. RM通过NM,释放了刚才申请的容器。
  11. 如果程序还有Reduce阶段,那么AM就按照上述流程再走一遍(ReduceTask)。
  12. 当整个MR程序运行结束的时候,AM就会向RM注销自己。

相关文章:

  • 2021-09-15
  • 2021-10-28
  • 2022-12-23
  • 2021-05-14
  • 2021-08-05
  • 2021-12-26
  • 2022-02-01
  • 2021-09-02
猜你喜欢
  • 2021-04-21
  • 2022-01-01
  • 2021-10-03
  • 2022-01-11
  • 2021-08-07
  • 2022-12-23
  • 2021-04-02
相关资源
相似解决方案