大資料全系技術概覽
什麼是大資料?
大資料(big data),指無法在一定時間範圍內用常規軟體工具進行捕捉、管理和處理的資料集合,是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的資訊資產。
在維克托·邁爾-舍恩伯格及肯尼斯·庫克耶編寫的《大資料時代》中大資料指不用隨機分析法(抽樣調查)這樣捷徑,而採用所有資料進行分析處理。大資料的5V特點(IBM提出):Volume(大量)、Velocity(高速)、Variety(多樣)、Value(低價值密度)、Veracity(真實性)。
在這裡還是要推薦下我自己建的大資料學習交流群:199427210,群裡都是學大資料開發的,如果你正在學習大資料 ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有大資料軟體開發相關的),包括我自己整理的一份2018最新的大資料進階資料和高階開發教程,歡迎進階中和進想深入大資料的小夥伴加入。
大資料應用現狀
醫療/健康 |
百度、平安、阿里、騰訊、春雨醫生、易隨診、華大基因、丁香園、微糖、好大夫線上、39健康網、尋醫問藥網、有問必答網、育兒網、中國育兒網、寶寶樹、百度醫前智慧問診平臺、東軟、金蝶。 |
電商 |
淘寶、天貓、京東、亞馬遜 |
精準銷售 |
對使用者消費全過程資料進行分析,掌握使用者基本屬性、購買能力、行為特徵、社交特徵、心裡特徵和興趣偏好等多方面資訊。 |
商家和供應商決策支援。 |
提供具有高度時效性的行業平均資料、市場需求變化、產業上下游動態等市場資訊,幫助商家和供應商分析運營狀態,預測銷售和使用者趨勢,並提供針對性的運營優化策略; |
平臺運營優化 |
通過大資料分析為管理層以及各級運營管理人員提供資料分析和決策支援服務。 |
語音服務 |
科大訊飛、雲知聲、思必馳、捷通華聲; |
廣告營銷 |
億贊普、智子云、秒針系統、品友互動、精碩科技、集奧聚合、締元信、 |
金融 |
閃銀(Wecash)、宜信、拍拍貸、陸金所、人人貸、芝麻徵信、騰訊徵信、京小貸、元寶鋪、融360、數聯銘品、九次方; |
影視/娛樂 |
騰訊視訊、愛奇藝、優酷&土豆、搜狐視訊、蝦米音樂、網易雲音樂、豆瓣FMQQ音樂、藝恩世紀國際資訊諮詢(北京)有限公司、新影數訊、艾漫科技、牧星人影視。 |
線上教育 |
作業通、作業幫、學霸君 |
人力資源 |
搜前途、哪上班、e成招聘、望才招聘、內聘網、人人獵頭 |
旅遊 |
去哪兒、好巧網、馬蜂窩、智遊啦、攜程 |
地理資訊服務 |
百度地圖、高德地圖、中海達、東方道邇、靈圖軟體 |
交通/物流 |
航旅縱橫、飛常準、途志、車來了、北京匯通天下物聯科技、快的打車、美的空調、快逸行、九五智駕 |
房地產 |
萬科地產、鏈家地產、易遨中國、萬達地產 |
企業應用 |
企業有東方國信、亞信、金蝶、用友、神州數碼 |
輿情 |
鷹擊、邦富、30所、百度、新浪 |
大資料技術共性
業界主流大資料技術框架
-
磁碟儲存
HDFS、HBASE、S3、Cassandra、MongoDB、Redis
-
記憶體儲存
Alluxio 、Redis
-
資料分析
Spark(SQL、Streaming、MLlib、GraphX)、Storm、MapReduce、Mahout、Hive、Pig
-
分步式協調服務
ZooKeeper
-
集群系統監控
CDH-CMS, Metrics, Grafana、Ambari
-
訊息匯流排
kafka、ActiveMQ、Apollo、 Redis
-
索引系統
Solr、Lucene、ElasticSearch
大資料元件應用分類
-
資料採集
flume、kafka connector、sqoop、socket、sftp、mina
-
實時處理
Spark Streaming、Kafka Streams、Storm、Samza、Flink
-
資料儲存
HDFS、HBASE、S3、Cassandra、MongoDB、Redis、Solr、ElasticSearch
-
離線處理
Spark SQL、Hive、Map Reduce、Pig、Impala
-
互動式查詢
Drill、PresTO、Kylin
-
資料展現
Echarts、Tableau、d3js
大資料元件簡介
1、Hadoop是Apache開源組織的一個分散式計算框架,提供了一個分散式檔案系統 (HDFS)、MapReduce分散式計算及統一資源管理框架(Yarn)的軟體架構。
-
為大規模資料的儲存提供解決方案(HDFS);
-
解決大規模分步式計算( MapReduce );
-
作為其周邊軟體Hbase、Hive、Pig、Mahout等的基礎平臺。
-
2、HBase是一個高可靠性、高效能、面向列、可伸縮的分散式儲存系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化儲存叢集。
-
解決海量資料的儲存;
-
解決隨機、實時讀寫大資料;
-
3、kafka是Apache旗下的一個高效能,高吞吐量的分步式訊息匯流排系統。
-
分散式系統相互通訊;
-
資料複製、同步;
-
日誌同步;
-
Delay Queue;
-
廣播通知。
-
提供簡化訪問HDFS的程式設計介面。
4、Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行執行。 其優點是學習成本低,可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合資料倉庫的統計分析。
-
解決海量資料的儲存;
-
解決大規模資料的分析:SQL。
5、MongoDB 是一個高效能,開源,無模式的文件型資料庫,它在許多場景下可用於替代傳統的關係型資料庫或鍵/值儲存方式。MongoDB不支援SQL,但有自己功能強大的查詢語法。MongoDB使用BSON作為資料儲存和傳輸的格式。BSON是一種類似JSON的二進位制序列化文件,支援巢狀物件和陣列。
-
解決海量資料線上儲存;
-
許多情況下可以代替傳統關係資料庫;
-
代替鍵/值儲存方式。
6、Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助。
7、Apache Spark 是專為大規模資料處理而設計的快速通用的計算引擎。Spark是UC Berkeley AMP lab (加州大學伯克利分校的AMP實驗室)所開源的類Hadoop MapReduce的通用並行框架,Spark,擁有Hadoop MapReduce所具有的優點;但不同於MapReduce的是——Job中間輸出結果可以儲存在記憶體中,從而不再需要讀寫HDFS,因此Spark能更好地適用於資料探勘與機器學習等需要迭代的MapReduce的演算法。
Spark 是一種與 Hadoop 相似的開源叢集計算環境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負載方面表現得更加優越,換句話說,Spark 啟用了記憶體分佈資料集,除了能夠提供互動式查詢外,它還可以優化迭代工作負載。
Spark 是在 Scala 語言中實現的,它將 Scala 用作其應用程式框架。與 Hadoop 不同,Spark 和 Scala 能夠緊密整合,其中的 Scala 可以像操作本地集合物件一樣輕鬆地操作分散式資料集。
8、Storm是一個分散式的、容錯的實時計算系統。使用Storm進行實時大資料分析。
9、Flink 是可擴充套件的批處理和流式資料處理的資料處理平臺,設計思想主要來源於Hadoop、MPP資料庫、流式計算系統等,支援增量迭代計算。
10、Alluxio A memory speed virtual distributed storage. Alluxio是一個高容錯的記憶體分散式檔案系統,允許檔案以記憶體的速度在叢集框架中進行可靠的共享。典型特點就是加速讀寫資料的速度。
11、ElasticSearch是一個基於Lucene的搜尋伺服器。它提供了一個分散式多使用者能力的全文搜尋引擎,基於RESTful web介面。其典型特點是全文快速檢索。
在這裡還是要推薦下我自己建的大資料學習交流群:199427210,群裡都是學大資料開發的,如果你正在學習大資料 ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有大資料軟體開發相關的),包括我自己整理的一份2018最新的大資料進階資料和高階開發教程,歡迎進階中和進想深入大資料的小夥伴加入。