使用哪个选项更好,将spark作为hive上的执行引擎或使用spark SQL访问hive表?为什么呢?
最佳答案
这里有一些假设:
如果是这样,Spark-SQL也许是更好的前进方式。它更好地集成在Spark中,并且作为Spark不可或缺的一部分,它将提供更多功能(一个示例是结构化流)。您仍将获得用户友好性和Spark的类似SQL的界面,因此您将获得全部好处。但是您仅需要从Spark的 Angular 来管理系统。配置单元的安装和管理仍然存在,但仅是一个 Angular 。
结合使用Hive和Spark作为执行引擎,将使您受制于Hive的库将HQL转换为Spark的翻译能力。他们可能做得很好,但是您仍然会放弃Spark SQL的高级功能。与Spark SQL相比,要在Hive中集成新功能可能需要更长的时间。
此外,由于Hive面向最终用户,因此一些高级用户或数据工程团队可能希望访问Spark。这将导致您管理两个工具。与仅在这种情况下使用Spark-SQL相比,系统管理可能会变得更加乏味,因为Spark SQL可以为非技术用户和高级用户提供服务,即使高级用户使用pyspark,spark-shell或更多,它们仍将集成在同一工具集中。
关于apache-spark - 是作为执行引擎还是应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62354964/