为什么在 Spark 上使用 Hive 而不是 Spark-SQL?
Why use Hive on Spark instead of Spark-SQL?
我是数据科学领域的新手,我不明白为什么有人想要将 Hive 连接到 Spark 而不是仅仅使用 Sqark-SQL.
在 Spark 上使用 Hive 而不是 Spark-SQL 有什么好处(除了能够使用已经在生产中的 Hive 代码)?
谢谢
以上回答不正确。 Hive 和 SparkSQL 之间的一个共同组件是 SemanticAnalyzer。
Hive 具有更好的 SQL 支持和更复杂的基于成本的优化器。
我的建议是在 Tez 上使用 Hive,而不是在 Spark 或 SparkSQL 上使用 Hive,因为它已准备好生产,更稳定和可扩展。
嗯,似乎这里唯一的答案给出了使用 tez 的建议...
回到最初的问题,使用 Hive on Spark 的好处,恕我直言,好处主要是更好的 hive 特性支持,而不是 HiveQL 语言支持,Hive on Spark 对 hiveserver2 和安全特性有更好的支持。
在 SparkSQL 中它们确实有问题,SparkSQL 中有一个 hiveserver2 impl,但是
在最新版本 (1.6.x) 中,SparkSQL 中的 hiveserver2 不再使用 hivevar 和 hiveconf 参数,通过 jdbc 登录的用户名也不起作用...请参阅 https://issues.apache.org/jira/browse/SPARK-13983
我们的要求是以安全的方式将 spark 与 hiveserver2 一起使用(使用
authentication and authorization),目前SparkSQL单独做不到
提供这个,我们不需要使用其他 hadoop 组件,如 HDFS 或 YARN,我们使用独立的 spark,因此根据我们的要求,我们使用 ranger/sentry + Hive on Spark。
我是数据科学领域的新手,我不明白为什么有人想要将 Hive 连接到 Spark 而不是仅仅使用 Sqark-SQL.
在 Spark 上使用 Hive 而不是 Spark-SQL 有什么好处(除了能够使用已经在生产中的 Hive 代码)?
谢谢
以上回答不正确。 Hive 和 SparkSQL 之间的一个共同组件是 SemanticAnalyzer。 Hive 具有更好的 SQL 支持和更复杂的基于成本的优化器。 我的建议是在 Tez 上使用 Hive,而不是在 Spark 或 SparkSQL 上使用 Hive,因为它已准备好生产,更稳定和可扩展。
嗯,似乎这里唯一的答案给出了使用 tez 的建议...
回到最初的问题,使用 Hive on Spark 的好处,恕我直言,好处主要是更好的 hive 特性支持,而不是 HiveQL 语言支持,Hive on Spark 对 hiveserver2 和安全特性有更好的支持。
在 SparkSQL 中它们确实有问题,SparkSQL 中有一个 hiveserver2 impl,但是 在最新版本 (1.6.x) 中,SparkSQL 中的 hiveserver2 不再使用 hivevar 和 hiveconf 参数,通过 jdbc 登录的用户名也不起作用...请参阅 https://issues.apache.org/jira/browse/SPARK-13983
我们的要求是以安全的方式将 spark 与 hiveserver2 一起使用(使用 authentication and authorization),目前SparkSQL单独做不到 提供这个,我们不需要使用其他 hadoop 组件,如 HDFS 或 YARN,我们使用独立的 spark,因此根据我们的要求,我们使用 ranger/sentry + Hive on Spark。