【发布时间】:2020-06-13 02:49:35
【问题描述】:
哪个选项更好用,spark 作为 hive 上的执行引擎还是使用 spark SQL 访问 hive 表?为什么?
【问题讨论】:
标签: apache-spark hadoop pyspark hive apache-spark-sql
哪个选项更好用,spark 作为 hive 上的执行引擎还是使用 spark SQL 访问 hive 表?为什么?
【问题讨论】:
标签: apache-spark hadoop pyspark hive apache-spark-sql
这里有几个假设:
如果这是真的,Spark-SQL 或许是更好的前进方式。它更好地集成在 Spark 中,并且作为 Spark 的一个组成部分,它将提供更多功能(一个示例是结构化流)。您仍将获得 Spark 的用户友好性和类似 SQL 的界面,因此您将获得全部好处。但是您只需要从 Spark 的角度来管理您的系统。 Hive 安装和管理仍将存在,但从单一角度来看。
将 Hive 与 Spark 一起用作执行引擎将使您受到限制,具体取决于 Hive 的库在将您的 HQL 转换为 Spark 方面的能力。他们可能做得很好,但您仍然会失去 Spark SQL 的高级功能。与 Spark SQL 相比,新功能可能需要更长的时间才能集成到 Hive 中。
此外,由于 Hive 向最终用户公开,一些高级用户或数据工程团队可能希望访问 Spark。这将导致您管理两个工具。在这种情况下,与仅使用 Spark-SQL 相比,系统管理可能会变得更加繁琐,因为 Spark SQL 有可能同时为非技术用户和高级用户提供服务,即使高级用户使用 pyspark、spark-shell 或更多,它们仍将被集成在同一个工具集中。
【讨论】: