【问题标题】:Apache Drill vs Spark [closed]Apache Drill 与 Spark [关闭]
【发布时间】:2015-06-29 16:52:28
【问题描述】:

我对 Apache Spark 和 Spark-SQL 有一定的经验。最近我发现了 Apache Drill 项目。您能否描述一下它们之间最显着的优势/差异是什么?我已经读过了 Fast Hadoop Analytics (Cloudera Impala vs Spark/Shark vs Apache Drill) 但这个话题对我来说仍然不清楚。

【问题讨论】:

标签: hadoop apache-spark bigdata apache-drill


【解决方案1】:

这是我看到的一篇文章,讨论了一些 SQL 技术:http://www.zdnet.com/article/sql-and-hadoop-its-complicated/

Drill 在用户体验和架构上都有根本的不同。例如:

  • Drill 是一个无模式的查询引擎。例如,您可以将其指向 JSON 或 Parquet 日志文件的目录(在本地机器上、NFS 共享、S3、HDFS、MapR-FS 等)并运行查询。您不必加载数据、创建和管理架构或预处理数据。
  • Drill 在内部使用 JSON 文档模型,允许它查询任何结构的数据。许多现代数据很复杂,这意味着记录可以包含嵌套结构和数组,并且字段名称实际上可能对值进行编码,例如时间戳或网页 URL。 Drill 允许普通的 BI 工具对此类数据进行无缝操作,而无需提前对数据进行展平。
  • Drill 适用于各种非关系数据存储,包括 Hadoop、NoSQL 数据库(MongoDB、HBase)和云存储。将添加其他数据存储。

Drill 1.0 刚刚发布(2015 年 5 月 19 日)。您可以轻松地将其下载到您的笔记本电脑上并在没有任何基础架构(Hadoop、NoSQL 等)的情况下使用它。

【讨论】:

    【解决方案2】:

    Drill 让您能够使用 ANSI SQL 查询不同类型的数据集。这使得它非常适合临时数据探索,以及通过 ODBC 将 BI 工具连接到数据集。你甚至可以使用 Drill 来 SQL JOIN 不同类型的数据集。例如,您可以将 MySQL 表中的记录与 JSON 文件、CSV 文件、OpenTSDB 或 MapR-DB 中的行连接起来……不胜枚举。 Drill 可以连接到许多不同类型的数据。

    当我考虑使用 Spark 时,我通常希望将其用于 RDD(弹性分布式数据集)。 RDD 可以轻松快速地处理大量数据。 Spark 还有一堆用于 ML 和流式传输的库。 Drill 根本不处理数据。它只是让您访问所述数据。您可以使用 Drill 将数据拉入 Spark、Tensorflow、PySpark 或 Tableau 等。

    【讨论】:

      【解决方案3】:

      Apache Spark-SQL:

      • 您需要编写代码(Scala、Java 或 Python)来访问和处理数据。
      • 可以针对 Dataframe 执行 SQL 查询。
      • 可以分布式方式(集群)执行。
      • 几乎每个数据存储都有 Spark 驱动程序或连接器。
      • 用于大规模并行计算/数据分析。
      • 支持流处理。
      • 拥有更大的支持社区。​​li>

      阿帕奇钻头:

      • 无需编写代码,Drill 将探索数据源并创建自己的数据目录。
      • 更易于使用,只需 SQL。
      • 可以分布式方式(集群)执行。
      • 它可用于从多种数据源读取数据,例如 MongoDB、Parquet 文件、MySQL 和任何 JDBC 数据库。
      • 用于临时数据探索。
      • 不支持流处理。
      • 它的支持社区较小。

      【讨论】:

        猜你喜欢
        • 2017-03-03
        • 2016-07-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-12
        • 2018-12-29
        • 2016-05-30
        • 2015-05-19
        相关资源
        最近更新 更多