共計 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 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!