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



哪个选项更好用,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或更高版本,它们仍将集成在同一工具集中。

最新更新