【问题标题】:Will Spark SQL completely replace Apache Impala or Apache Hive?Spark SQL 会完全取代 Apache Impala 或 Apache Hive 吗?
【发布时间】:2016-10-25 09:37:38
【问题描述】:

我需要在我们的服务器上部署大数据集群。但是我只知道Apache Spark的知识。现在我需要知道 Spark SQL 是否可以完全替代 Apache Impala 或 Apache Hive。

我需要你的帮助。谢谢。

【问题讨论】:

    标签: sql hadoop apache-spark hive impala


    【解决方案1】:

    我想用实时场景来解释这个

    实时生产项目:

    Hive 主要用于存储数据/表和运行临时查询,如果组织每天都在增加数据并且他们使用 RDBMS 数据进行查询,那么他们可以使用 HIVE。

    Impala 用于商业智能项目,通过一些前端工具(如 tableau、pentaho 等)完成报告。

    Spark 主要用于分析目的,开发人员更倾向于统计,因为他们也可以使用带有 spark 的 R 语言来制作他们的初始数据帧。

    所以对您的问题的回答是“否”火花不会取代蜂巢或黑斑羚。因为这三个都有自己的用例和优势,这些查询引擎的实施难易程度取决于您的 hadoop 集群设置。

    这里有一些链接可以帮助您更清楚地理解:

    http://db-engines.com/en/system/Hive%3BImpala%3BSpark+SQL

    http://www.infoworld.com/article/3131058/analytics/big-data-face-off-spark-vs-impala-vs-hive-vs-presto.html

    https://www.dezyre.com/article/impala-vs-hive-difference-between-sql-on-hadoop-components/180

    【讨论】:

      【解决方案2】:

      没有。 Apache Spark 是用于大数据处理的快速通用引擎,内置用于流式处理、SQL、机器学习和图形处理的模块。

      Impala - 用于 Apache Hadoop 的开源分布式 SQL 查询引擎。

      Hive - 一种类似 SQL 的界面,用于查询存储在与 Hadoop 集成的各种数据库和文件系统中的数据。

      参考:Differences between Hive and impala


      Apache Spark 具有连接到各种数据源的连接器,并且它对数据进行处理。 Hive 提供了一个查询引擎,与 Spark 集成后有助于加快查询速度。

      SparkSQL 可以使用 HiveMetastore 来获取存储在 HDFS 中的数据的元数据。此元数据使 SparkSQL 能够更好地优化它执行的查询。这里 Spark 是查询处理器。

      参考:Databricks blog

      【讨论】:

        【解决方案3】:

        Apache Impala 提供对数据的低延迟访问,通常与前端商业智能应用程序一起使用。

        Apache Hive 更适用于查询延迟不是问题的批处理。例如基于日终属性的金融应用程序的数据处理(如收盘时的股票价值)

        虽然 Apache Spark 具有从流式传输到机器学习的各种应用程序,但它也被用于批处理 ETL 处理。 Spark 2+ 中提供的基于数据集的增强型 Spark SQL API 改进了 Catalyst Query Optimizer 和 WholeStageCodeGen 形式的组件。我观察到一些 Hive 脚本在 Spark 上从 HiveQL 转换为 Scala 的执行时间提高了 50-90%。

        从 HiveQL 迁移到基于数据集的 Spark API 的一些挑战:

        • Hive 中缺少类似 SQL 的优美语法。
        • 数据集 API 与 Scala 语言结构的不完全集成
        • 在某些数据集操作中缺少编译时错误报告

        【讨论】:

          【解决方案4】:

          这是个好问题。我认为不会。尽管 Spark 比其他两个更快,但它们每个都有自己的目的和工作方式。例如,对于熟悉 Query 语言的人来说,Hive 和 Impala 会更容易使用,Spark 可以使用 Hive Metastore 进行更好的优化。所以,我认为它不会替换。

          【讨论】:

            猜你喜欢
            • 2016-09-08
            • 2019-06-07
            • 2018-07-14
            • 1970-01-01
            • 2016-01-18
            • 2016-01-13
            • 1970-01-01
            • 1970-01-01
            • 2018-07-08
            相关资源
            最近更新 更多