共计 3460 个字符,预计需要花费 9 分钟才能阅读完成。
本篇内容主要讲解“大数据和开源查询和框架有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“大数据和开源查询和框架有哪些”吧!
阿帕奇 Hive
Apache Hive 是基于 Hadoop 生态系统的旗舰数据仓库工具。它不仅将结构化的数据文件映射到数据库表,而且还提供 SQL(HQL)查询功能 (例如 SQL 语句) 并将 SQL 语句转换为 MapReduce 任务以供执行。
它是由 Facebook 开发的,于 2008 年进入 Apache 孵化器,并于 2010 年 9 月成为优秀 Apache 项目。背后的原理是利用熟悉的 SQL 模型来处理 HDFS(Hadoop)上的数据。借助 Hive,学习成本低,并且可以通过 HQL 语句快速转换简单的 MapReduce 统计信息,而无需担心开发其他特殊的 MapReduce 应用程序。
Hive 非常方便地在整个企业范围内对数据仓库进行建模和构建,而 Hive SQL 模型则可以对数据仓库中的数据进行统计和分析。
但是,Hive 的底层被转换为 MR,而 MR 的改组依赖于系统磁盘,因此它只能处理离线分析,这效率相对较低,在开发人员社区中不可接受。Hive 通常使用 Hive 在整个组织中构建数据仓库。
Apache SparkSQL
Apache SparkSQL 是主要的 Spark 组件构建,用于处理结构化数据。Spark SQL 于 2014 年发布,并吸收了 Hive-on-Spark 项目,该项目现在是使用最广泛的 Spark 模块。它提供了一个称为 DataFrames 的可编程抽象数据模型,并被视为分布式 SQL 查询引擎。
SparkSQL 取代了 Hive 的查询引擎,但也与 hive 系统兼容。关于 Spark RDD API,Spark SQL 提供的接口将为 Spark 提供有关结构化数据和计算的更多信息。SparkSQL 最底层是 Spark Core,它使您可以轻松地在不同的 SQL 和 API 之间切换。
Presto
Presto 是一个分布式数据查询引擎,但从不存储数据本身 Presto 将提供对多个数据源的访问,并支持跨不同数据源的级联查询。它是一个分布式 SQL 交互式查询引擎,它也在 2012 年由 Facebook 开发,并于 2013 年开源。
Presto 是一种 OLAP 工具,适用于海量数据的复杂分析,但不适用于 OLTP 方案。Presto 仅提供计算和分析功能,而不能用作数据库系统。
就 Hive 而言,Presto 是一种低延迟,高并发性的内存计算引擎。它的执行效率比 Hive 高得多。它的 MPP(大规模并行处理)模型可以处理 PB 级数据。Presto 的原理只是将一些数据放入内存中进行计算,完成后将其取出,然后再次处理其他一些数据,例如循环和类似于管道处理模式。
Apache Kylin
Apache Kylin 是针对 Hadoop 生态系统的开源分布式分析引擎。其针对 Hadoop / Spark 的 SQL 查询接口和 OLAP 功能广泛支持超大规模数据。它使用基于多维数据集的预计算技术,该技术可快速高效地处理大数据 SQL 查询。Kylin 由 eBay 开发,并于 2014 年 11 月进入 Apache 孵化器。
凯林 (Kylin) 的出现是为了解决分析需要的 TB 数据。它可以在蜂巢中预先计算数据,并使用 Hadoop 的 MapReduce 框架实施。它可以在几秒钟内查询大量的 Hive 表。
麒麟最关键的两个过程是
多维数据集的预计算过程,并将 SQL 查询转换为多维数据集。
此外,在查询时要预先计算汇总结果并同时获得查询结果,避免直接扫描。
Apache Impala
与其他框架相比,它是用于大数据的实时交互式 SQL 查询引擎。Apache Impala 是由 Cloudera 开发的 SQL MPP 查询工具,受 Google Dremel 的启发,后来于 2012 年 10 月开源,并于 2017 年 11 月 28 日成为优秀项目。
Impala 使用完全开放且不同的形式集成到 Hadoop 生态系统中,从而使其使用者可以使用 SQL 来处理 Hadoop 生态系统中的大量数据。
目前,它支持多种类型的存储选项,例如:
Apache Kudu
亚马逊 S3
微软 ADLS
本地存储
它诞生时仅支持对大量 HDFS 数据的交互式分析。它的灵活性和领先的分析数据库性能促进了在全球企业中的大量部署。
Ir 为企业业务提供 BI 和交互式 SQL 高效分析,并允许第三方生态系统快速增长。
Apache Druid
Apache Druid 是用于实时数据分析的开源工具,旨在快速处理大规模数据。它的分布式实时分析通过快速查询和大规模数据集解决了复杂的任务。
2018 年 2 月 28 日进入 Apache 孵化器。它提供了以交互方式访问数据的功能。进入 Druid 系统后,可以实时摄取数据并立即进行验证。输入的数据 a 几乎是不可变的。通常是基于时间顺序的事实事件。
Elastic Search
它是一个分布式,可伸缩的实时搜索和分析引擎。它由 Shay Banon 于 2010 年建造,后来开源。它具有全文搜索引擎的功能,并具有 RESTful Web 界面的分布式多用户支持。
ES 的工作原理主要分为以下几个步骤。
首先,用户将数据输入 ES 数据库
然后利用分词控制器对相应的句子进行分段
存储细分结果的权重。
当用户搜索特定数据时,将根据权重对结果进行排名和评分,然后返回给用户。ES 是完全用 Java 开发的,并且是当前比较受欢迎的企业搜索引擎。
它稳定,可靠,快速且易于安装,专为在云计算环境中使用而设计。
官方客户提供以下语言版本
Java
.NET(C#)
PHP
Python
Apache Groovy
Ruby
Apache HAWQ
Apache HAWQ(带有查询的 Hadoop)是 Hadoop 本机并行 SQL 分析引擎。它是 Pivotal 在 2012 年推出的具有商业许可的高性能 SQL 引擎。
它是 Hadoop 的本机 SQL 查询引擎,结合了 MPP 数据库的技术优势,巨大的可扩展性和 Hadoop 的便利性。
经验证,HAWQ 的 OLAP 性能是 Hive 和 Impala 的 4 倍以上。它非常适合在 Hadoop 平台上快速构建数据仓库系统。
HAWQ 具有以下功能,例如
大规模并行处理
完全的 SQL 兼容性,
支持存储过程和事务。
它也可以轻松地与其他开源数据挖掘库 (如 MADLib) 集成。
Apache Lucene
Apache Lucene 是基于 Java 的开源全文搜索引擎工具箱。它是功能比较强大且被广泛采用的搜索引擎。Lucene 不是完整的搜索引擎,而是全文搜索引擎体系结构,使用此原型,您可以制造其他搜索引擎产品。它是一种全文本搜索引擎体系结构,可提供完整的索引创建和查询索引以及文本分析引擎。
Lucene 的目标是为软件开发人员提供一个简单易用的工具包,以促进在所需系统中实现全文搜索功能,甚至基于此原型构建完整的全文搜索引擎。它提供了一个简单但功能强大的应用程序编程接口(API),可以进行全文索引和搜索。
Apache Solr
Apache Solr 是一个基于 Apache Lucene 架构的开源企业搜索平台。它于 2004 年发布,于 2007 年 1 月 17 日成为 Apache 优秀项目。
它的高可靠性,可伸缩性和容错能力提供分布式索引,复制和负载平衡查询,自动故障转移,恢复和集中式配置。它是一个完全用 Java 语言编写的独立全文搜索服务器,并在 Servlet 容器环境 (Apache Tomcat 或 Jetty) 中运行。
Solr 依靠 Lucene Java 搜索库进行全文索引和搜索,并使用 HTTP / XML 和 JSON API 执行类似 REST 的操作。Solr 强大的外部配置功能使其无需使用 Java 语言即可进行调整,以适合多种类型的软件。Solr 支持许多大型 Internet 企业站点的搜索和导航功能。
Apache Phoenix
Apache Phoenix 是基于 HBase 的 SQL 类型框架。Apache Phoenix JDBC API 取代了传统的 HBase 客户端 API 的需求,它还创建表,插入数据和查询 HBase 数据。基本上,这是 Java 中间层,允许开发人员使用 HBase 中的数据表,例如关系数据库(例如,通过 Phoenix 的 MySQL)。
Phoenix 会将 SQL 查询语句编译为一系列 Scan 操作,并生成 JDBC 结果集并将其返回给服务使用者。它使您能够使用基础层,例如 HBase 协处理器和过滤器。无论数据响应时间以秒为单位,小规模查询都会以毫秒为单位进行响应。
到此,相信大家对“大数据和开源查询和框架有哪些”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!