繁体   English   中英

Spark 作为执行引擎还是 Spark 作为应用程序?

[英]Spark as execution engine or spark as an application?

哪个选项更好用,spark 作为 hive 上的执行引擎,还是使用 spark SQL 访问 hive 表? 为什么?

这里有几个假设:

  • 选择 SQL 的原因是为了保持用户友好,例如,如果您有业务用户尝试访问数据。
  • Hive 正在考虑中,因为它提供了类似 SQL 的接口和数据持久性

如果这是真的,Spark-SQL 可能是更好的前进方式。 它更好地集成在 Spark 中,并且作为 Spark 的一个组成部分,它将提供更多功能(一个示例是结构化流)。 您仍将获得用户友好性和 SQL 之类的 Spark 接口,因此您将获得全部好处。 但是您只需要从 Spark 的角度来管理您的系统。 Hive 安装和管理仍然存在,但从单一角度来看。

将 Hive 与 Spark 作为执行引擎一起使用将使您受到限制,具体取决于 Hive 的库在将您的 HQL 转换为 Spark 方面的能力。 他们可能做得很好,但您仍然会失去 Spark SQL 的高级功能。 与 Spark SQL 相比,新功能可能需要更长的时间才能集成到 Hive 中。

此外,由于 Hive 暴露给最终用户,一些高级用户或数据工程团队可能希望访问 Spark。 这将导致您管理两个工具。 在这种情况下,与仅使用 Spark-SQL 相比,系统管理可能会变得更加繁琐,因为 Spark SQL 具有服务于非技术用户和高级用户的潜力,即使高级用户使用 pyspark、spark-shell 或更多,它们仍将被集成在同一个工具集中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM