spark on hive 和 hive on spark 的区别:

spark on hive :

        hive只作为存储角色,spark 负责sql解析优化,底层运行的还是sparkRDD

        具体可以理解为spark通过sparkSQL使用hive语句操作hive表,底层运行的还是sparkRDD,

        步骤如下:

                1.通过sparkSQL,加载Hive的配置文件,获取Hive的元数据信息

                2.获取到Hive的元数据信息之后可以拿到Hive表的数据

                3.通过sparkSQL来操作Hive表中的数据

hive on spark:

        hive既作为存储又负责sql的解析优化,spark负责执行

        这里Hive的执行引擎变成了spark,不再是MR。

        这个实现较为麻烦,必须重新编译spark并导入相关jar包

        目前大部分使用spark on hive

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