拾肆:Spark with Hive和Hive on Spark

          在 Hive 与 Spark 这对“万金油”组合中,Hive 擅长元数据管理,而 Spark 的专长是高效的分布式计算,二者的结合可谓是“强强联合”。今天这一讲,我们就来聊一聊 Spark 与 Hive 集成的两类方式,一类是从 Spark 的视角出发,我们称之为 Spark with Hive;而另一类,则是从 Hive 的视角出发,业界的通俗说法是:Hive on Spark。

         当 Hive 采用 Spark 作为底层的计算引擎时,我们就把这种集成方式称作“Hive on Spark”。相反,当 Spark 仅仅是把 Hive 当成是一种元信息的管理工具时,我们把 Spark 与 Hive 的这种集成方式,叫作“Spark with Hive”。

Spark with Hive

        在开始正式学习 Spark with Hive 之前,我们先来说说这类集成方式的核心思想。前面我们刚刚说过,Hive Metastore 利用 RDBMS 来存储数据表的元信息,如表名、表类型、表数据的 Schema、表(分区)数据的存储路径、以及存储格式,等等。形象点说,Metastore 就像是“户口簿”,它记录着分布式文件系统中每一份数据集的“底细”。

        Spark SQL 通过访问 Hive Metastore 这本“户口簿”,即可扩充数据访问来源。而这,就是 Spark with Hive 集成方式的核心思想。直白点说,在这种集成模式下,Spark 是主体,Hive Metastore 不过是 Spark 用来扩充数据来源的辅助工具。厘清 Spark 与 Hive

你可能感兴趣的:(hive,spark,big,data)