nannan1232
nannan1232
采纳率0%
2017-06-24 04:47 阅读 2.4k

hive on spark 和 spark sql 有啥区别?

hive on spark 和 spark sql 都是用spark引擎计算,个人觉得没啥区别。
网友说:
hive on spark 是cloudera公司开发的,spark sql是spark开发的,这个算是区别吗?
写法不同?

请大神解答。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • Zhanjr zhanjr 2017-06-24 06:10

    SparkSQL和Hive On Spark都是在Spark上实现SQL的解决方案。Spark早先有Shark项目用来实现SQL层,不过后来推翻重做了,就变成了SparkSQL。这是Spark官方Databricks的项目,Spark项目本身主推的SQL实现。Hive On Spark比SparkSQL稍晚。Hive原本是没有很好支持MapReduce之外的引擎的,而Hive On Tez项目让Hive得以支持和Spark近似的Planning结构(非MapReduce的DAG)。所以在此基础上,Cloudera主导启动了Hive On Spark。这个项目得到了IBM,Intel和MapR的支持(但是没有Databricks)。
    结构上Hive On Spark和SparkSQL都是一个翻译层,把一个SQL翻译成分布式可执行的Spark程序。需要理解的是,Hive和SparkSQL都不负责计算,它们只是告诉Spark,你需要这样算那样算,但是本身并不直接参与计算。
    Spark官方Databricks本身是不愿意承认Hive On Spark的正统地位的。Shark, Spark SQL, Hive on Spark, and the future of SQL on Spark从它们官博上可以看出他们对Hive On Spark的定位更像是小三而不是正房。所以你看到Apache Hive On Spark的各种努力,并没有得到最重要的Spark Vendor,Databricks的多少支持。SQL是面对用户最直接的一个层面,如果Databricks能控制这个层面,各种功能添加都由自己做主,就不用受制于Hive的社区,这也是很直接的好处,而且我觉得引擎就位之后几个厂商拼的都是上层,要搞出数据仓库还有很多东西要做,但是如果把不住SQL这层,就很难办。但Hive毕竟有辣嘛多厂商支持,D社是否能拿到主控权,还不好说。D社已经有废掉Shark的前科,所以我不是很看好SparkSQL。

    点赞 评论 复制链接分享

相关推荐