大資料三種處理方式
大資料線上分析處理
大資料離線處理
OLAP 和 OLTP 處理
1.實時流式處理
(1)問題的特點
--》資料來源源不斷的到來;
--》資料需要儘快的得到處理,不能產生積壓;
--》處理之後的資料量依然巨大,仍然後TB級甚至PB級的資料量;
--》處理的結果能夠儘快的展現;
以上四個特點可以總結為
資料的收集->資料的傳輸->資料的處理->資料的展現
其中資料的處理一般涉及資料的聚合,資料的處理和展現能夠在秒級或者毫秒級得到響應。
針對這些問題目前形成了 **Flume + kafka + Storm / Spark + Hbase / Redis **的技術架構
(2)Flume
Flume 專注於大資料的收集和傳輸,用來解決線上分析處理特點,資料來源源不斷的到來的問題。類似的大資料開源系統有 Logstash 和 Fluentd 。
Paste_Image.png
flume的架構圖
架構圖中 Source 用來連線輸出源,Sink 用來連線輸出源,Channel 是 Flume 內部資料傳輸通道(主要包括 Memory Channel 和 File Channel)。
其中 Source 連線的輸入源可以但不限於:
Avro Thrift Exec(unixcommandoutput)JMS (Java Message Service)Kafka NetCat (可以使用 nc –lk port 測試)SyslogCustom
其中 Sink 連線的輸出源可以但不限於:
Hdfs
Hive
Avro
Thrift
File Roll
Hbase
ElasticSearch (提供的功能和 Logstash 一樣,但是不如Logstash 豐富,大多數時候需要自己構造 ElasticSearch 文件和索引)
Kafka
Custom
(2)**kafka **負責資料的緩衝,和解耦作用
(3)spark 負責實時處理計算
(4)Hbase和redis負責儲存處理後的資料供外部查詢。
2.大資料離線處理(批處理)和常用工具
特點
--》資料量巨大且儲存時間長;
--》在大量資料上進行復雜的批量運算;
--》資料在計算之前已經完全到位,不會發生變化;
--》能夠方便的查詢批量計算的結果;
離線處理目前技術上已經成熟,大家使用的均是: 使用 Hdfs 儲存資料,使用 MapReduce 做批量計算,計算完成的資料如需資料倉儲的儲存,直接存入 Hive , 然後從Hive 進行展現。
3.互動式處理(hive,spark sql)
OLAP (聯機分析處理) 和 OLTP (聯機事務處理)
三個主要的工具
Elasticsearch 介紹
Impala 介紹
Kylin 介紹
OLTP 單次查詢返回資料量小,但是經常會涉及伺服器端簡單的聚合操作,要求查詢響應速度快,一般應用於線上處理;
OLAP(hive大批量) 單次查詢返回資料量巨大,伺服器端進行的處理複雜,經常包含上卷(從細粒度資料向高層的聚合)、下鑽(將彙總資料拆分到更細節的資料)類似的操作;
(1)Elasticsearch lucence查詢工具
是一種基於 文件 的 底層使用 Lucene 進行檢索的分散式NoSql 叢集。Elasticsearch 檢索大量文件類資料響應速度很快,更夠為 線上 OLTP 提供支援。類似的大資料開源系統有 Solr。
兩者的區別如下
--》Elasticsearch是分散式的。不需要其他元件,分發是實時的,被叫做”Push replication” 並且完全支援 Apache Lucene 的接近實時的搜尋;
--》建立索引時,搜尋效率下降,實時索引搜尋效率不高;
--》隨著資料量的增加,Solr的搜尋效率會變得更低,而Elasticsearch卻不會有明顯變化
所以, Solr的架構不適合實時搜尋的應用,也就不適合 OLTP 處理
(2)Impala
Impala 是 Cloudera 公司主導開發的新型查詢系統,它提供 SQL 語義,能查詢儲存在** Hadoop 的 Hdfs 和 Hbase 中的 PB 級大資料**。已有 的 Hive 系統雖然也提供了 SQL 語義,但由於 Hive 底層執行使用的是 MapReduce 引擎,仍然是一個批處理過程,難以滿足查詢的互動性。相比之 下,Impala 的最大特點就是它的快速。
所以, Impala 使得在 TB 甚至 PB 級資料上進行 OLTP 分析成為可能。
(3)Kylin
Kylin 是由國人作為主要貢獻者的一個旨在對 Hadoop 環境下分析流程進行加速、且能夠與 SQL 相容性工具順利協作的解決方案,目前 Kylin 已經成功將SQL介面與多維分析機制(OLAP)引入** Hadoop,**旨在對規模極為龐大的資料集加以支援。
Kylin 能夠在大資料分析領域實現以下各項特性:
--》規模化環境下的極速 OLAP 引擎: 削減 Hadoop 環境中處理超過百億行資料時的查詢延遲時間;
--》Hadoop上的 ANSI SQL 介面: Kylin 能夠在 Hadoop 之上提供 ANSI SQL 並支援大部分 ANSI SQL查詢功能;
--》利用 OLAP cube(立方體)對數百億行資料進行查詢;
作者:CB
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
相關文章
- Python資料處理(一):處理 JSON、XML、CSV 三種格式資料PythonJSONXML
- 好程式設計師大資料培訓分享HBase協處理器載入的三種方式程式設計師大資料
- 傳統的資料處理方式能否應對大資料?大資料
- HBase協處理器載入的三種方式
- mysql,sqlserver資料庫單表資料過大的處理方式MySqlServer資料庫
- 三種 Post 提交資料方式
- tensorflow載入資料的三種方式
- 大資料常用處理框架大資料框架
- ETL中後設資料處理的方式
- SQLServer資料庫日誌太大處理方式SQLServer資料庫
- C#中處理JSON資料的方式C#JSON
- PHP處理密碼的幾種方式PHP密碼
- SQLite 併發的四種處理方式SQLite
- php 與 nginx 的兩種處理方式PHPNginx
- SpringMVC非同步處理的 5 種方式SpringMVC非同步
- java大資料處理:如何使用Java技術實現高效的大資料處理Java大資料
- 支付類系統資料處理和資料中臺的資料處理方式有什麼不同?
- 大資料處理的基本流程大資料
- 剖析大資料平臺的資料處理大資料
- 6種方式處理機器學習中不平衡的資料集 - svpino機器學習
- 高分三號ScanSAR &TopSAR資料處理
- js的三種非同步處理JS非同步
- 大資料學習之Hadoop如何高效處理大資料大資料Hadoop
- 大語言模型訓練資料常見的4種處理方法模型
- js保護內部資料的三種方式JS
- 前端請求後端資料的三種方式!前端後端
- Python資料處理(二):處理 Excel 資料PythonExcel
- 大資料處理平臺都有哪些?大資料
- 大資料處理系統有哪些大資料
- 三種大資料流處理框架選擇比較:Apache Kafka流、Apache Spark流和Apache Flink - quora大資料框架ApacheKafkaSpark
- LoadRunner中多值關聯的3種處理方式
- 大資料拯救地球環境的10種方式大資料
- 獲得資料庫操作日誌的三種方式資料庫
- 資料處理
- 阿里巴巴資深大資料工程師:大資料處理實踐阿里大資料工程師
- 大資料處理流程包括哪些環節大資料
- 大資料處理過程是怎樣大資料
- 大資料處理需留意哪些問題大資料
- nlp中文字輸入的資料預處理方式