spark是一个计算引擎,而hive是一个存储框架。
- 大白话来讲,他们之间的关系就像发动机组与加油站之间的关系。
- 但若说模糊一点,其实hive既是存储框架也可以算是计算引擎。
你也可以这么理解:
- HDFS上的数据其实都是文件,没有良好的组织形式。
- Hive将这些数据规整起来,让用户可以以结构化数据库的角度去使用这些数据(建立了HDFS数据的元数据信息),在Hive上写HQL操作表翻译成了MapReduce去读HDFS的数据进行计算。
- 而Spark只是一个计算引擎,不是存储引擎,其本身并不负责数据存储。