apache-spark - 是作为执行引擎还是应用程序?

标签 apache-spark hadoop pyspark hive apache-spark-sql

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

最佳答案

这里有一些假设:

  • 选择SQL的原因是保持用户友好,例如如果您有业务用户试图访问数据。
  • 正在考虑使用
  • Hive,因为它提供了类似SQL的界面以及数据的持久性

  • 如果是这样,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/

    相关文章:

    scala - Spark : PageRank example when iteration too large throws stackoverflowError

    scala - 错误 : value is not a member of object using Scala on the shell

    apache-spark - 您如何确定 Spark 应用程序的随机分区?

    java - 如何在 Hortonworks 沙盒 Hadoop 平台中运行 mapreduce 作业

    hash - 如何为每行 rdd 生成哈希? (PYSPARK)

    python - pyspark上这个函数有什么问题?

    c# - Java MongoDB Hadoop 连接器是否有 C# 等效项?

    hadoop - Hadoop 3.2 HDFS 客户端可以与 Hadoop 2.x HDFS 节点一起使用吗?

    hadoop - 我可以在Hive中进行LEFT JOIN LATERAL吗?

    python - Pyspark > Dataframe 将多个数组列分成多行,每行一个值