Spark On Hive本质如何理解? | 您所在的位置:网站首页 › spark理解 › Spark On Hive本质如何理解? |
回顾Hive的组件 对于Hive来说,就2东西: 1. SQL优化翻译器(执行引擎),翻译SQL到MapReduce并提交到YARN执行 2.MetaStore元数据管理中心 Spark On Hive 对于Spark来说,自身是一个执行引擎,但是Spark自己没有元数据管理功能,当我们执行:SELECT *FROM person WHERE age > 10的时候,Spark完全有能力将SQL变成RDD提交。 但是问题是,Person的数据在哪?Person有哪些字段?字段啥类型?Spark完全不知道了。 不知道这些东西,如何翻译RDD运行。 在SparkSQL代码中,可以写SQL,那是因为,表是来自DataFrame注册的。 DataFrame中有数据,有字段,有类型,足够Spark用来翻译RDD用。 如果以不写代码的角度来看SELECT *FROM person WHERE age > 10 spark无法翻译,因为没有元数据。 解决方案 Spark提供执行引擎能力。 Hive的MetaStore提供元数据管理功能。 让Spark和MetaStore连接起来,那么: Spark On Hive 就有了 1. 引擎:spark 2. 元数据管理:MetaStore 总结 Spark On Hive 就是把Hive的MetaStore 服务拿过来,给Spark做元数据管理用而已。 |
CopyRight 2018-2019 实验室设备网 版权所有 |