{eval=Array;=+count(Array);}
“大數據”不是公司,是一個IT行業內的術語,是指巨大的數據集合,超出常規軟件計算和管理的數據流。
大數據最早是2008年提出來,麥肯錫研究所給出的定義是:一種規模大到在獲取、存儲、管理、分析方面大大超出了傳統數據庫軟件工具能力范圍的數據集合,具有海量的數據規模、快速的數據流轉、多樣的數據類型和價值密度低四大特征。
大數據對于社會發展而言有著巨大的作用,
第一,對大數據的處理分析正成為新一代信息技術融合應用的結點,通過對不同來源數據的管理、處理、分析與優化,大數據可以提供更加精準的服務。。
第二,大數據是信息產業持續高速增長的新引擎。面向大數據市場的新技術、新產品、新服務、新業態會不斷涌現。
第三,各行各業的決策對大數據的分析越來越重視,對大數據的分析可以使零售商實時掌握市場動態并迅速做出應對;在醫療領域,可提高診斷準確性和藥物有效性;可以為商家制定更加精準有效的營銷策略提供決策支持;可以幫助企業為消費者提供更加及時和個性化的服務;在公共事業方面,大數據也開始發揮促進經濟發展、維護社會穩定等方面的重要作用。
1.起源
4V特征(value,volume,velocity,variety)
Value:價值高。
Volume:體量大。(數據每個18月翻一番,而每年產生的數據量增長到44萬億GB)
Velocity:速度快。(數據生成,存儲,分析,處理遠遠超過人們的想象力)
Variety:種類多。
(1)企業(關系型數據庫,數據倉庫)
(2)人(瀏覽信息,聊天,電子商務......)
(3)機器(服務器產生日志,視頻監控數據)
(1)BAT三大公司為代表
(2)電信、金融、保險、電力、石化系統
(3)公共安全、醫療、交通領域
(4)氣象、地理、政務等領域
(5)制造業和其他產業
(1)結構化
(2)非結構化
二.大數據技術支撐
環境,教育,醫療,農業,智慧城市,零售業,金融業。
數據抓取,數據導入,物聯網設備自動抓取
數據清理,數據集成,數據轉換,數據規約。
轉換:過平滑聚集、數據概化、規范化等方式將數據轉換成適用于數據挖掘的形式。
規約:尋找依賴于發現目標的數據的有用特征,縮減數據規模,最大限度地精簡數據量。
統計與分析主要是利用分布式數據庫,或分布式計算集群來對存儲于其內的海量數據進行普通的分析和分類匯總,以滿足大多數常見的分析需求,在這些方面需要使用不同的框架和方法。
Hadoop:大數據的核心,主要組成部分包括:mapreduce(處理)和HDFS(存儲)和yarn(集群資源管理和調度);
Hbase:常用數據庫;spark:實時數據處理框架;sqoop:數據導入導出;flume:日志采集工具
Hive:數據倉庫,必須有SQL基礎,可以做離線的數據分析,把復雜的mapreduce代碼轉化為簡單的sql語句,
而且可以處理的數據類型更加豐富,對接的工具也更多,是整個大數據學習中非常主要的一部分。
Scala語言主要用來開發spark代碼,調用spark的相關API方法,還有spark SQL和spark streaming的開發,主要對接Kafka進行數據的消費,然后進行流數據處理。結果可以保存在本地數據庫,也可以保存在大數據平臺下。
在大數據的統計與分析過程中,主要面對的挑戰是分析涉及的數據量太大,其對系統資源,特別是I/O會有極大的占用。
hadoop生態圈
(1)Ambari:Apache Ambari是一種基于Web的工具,支持Apache Hadoop集群的供應、管理和監控。
Ambari已支持大多數Hadoop組件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper,Sqoop,Hcatalog。
(2)Hdfs:Hadoop實現了一個分布式文件系統(Hadoop Distributed File System),簡稱HDFS。
HDFS有高容錯性的特點,并且設計用來部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)來訪問應用程序的數據,適合那些有著超大數據集(large data set)的應用程序。
HDFS放寬了(relax)POSIX的要求,可以以流的形式訪問(streaming access)文件系統中的數據。大數據技術首要的要求就是先把數據存下來。HDFS(Hadoop Distributed FileSystem)的設計本質就是為了大量的數據能夠橫跨成千上萬臺機器存儲,但是對于用戶來說看到的是一個文件系統而不是許多文件系統。比如說你要獲取 /hdfs/tmp/aaa 的數據,雖然使用的是一個路徑,但找個文件的數據可能存放在很多臺不同的機器上。作為用戶來說不需要知道數據到底存儲在哪兒,就像你在單機上并不關心文件到底存儲在磁盤那個扇區一樣。這些數據交由 HDFS 來存儲。
---------------------
ii容錯率是指在某個體系中能減小一些因素或選擇對某個系統產生不穩定的概率。POSIX表示可移植操作系統接口(Portable Operating System Interface of UNIX,縮寫為 POSIX )
Yarn:Apache Hadoop YARN (Yet Another Resource Negotiator,另一種資源協調者)是一種新的 Hadoop 資源管理器,它是一個通用資源管理系統,可為上層應用提供統一的資源管理和調度,它的引入為集群在利用率、資源統一管理和數據共享等方面帶來了巨大好處。
MapReduce:分布式離線計算
Hive:在使用了一段時間的 MapReduce 以后,程序員發現 MapReduce 的程序寫起來太麻煩。希望能夠封裝出一種更簡單的方式去完成 MapReduce 程序,于是就有了 Pig 和 Hive。
Pig 是以類似腳本的方式去描述 MapReduce,而 Hive 則是以 SQL 的方式。它們會自動把腳本或者 SQL 翻譯成 MapReduce 程序,然后丟給計算引擎去計算處理。有了 Hive 以后人們發現 SQL 的優勢太大了。一是容易寫,一兩行的 SQL 換成 MapReduce 可能要幾十上百行。二是容易上手,即使非計算機背景的用戶也可以很快的學會。三是易寫易改,一看就懂,容易維護。所以自從 Hive 問世很快就成長為大數據倉庫的核心技術。使用了一段時間的 Hive 后人們發現 Hive 運行在 MapReduce 上太慢了。于是有開發出了針對于 SQL 優化的技術 Impala,Drill 和 Presto 等。這些技術 犧牲了系統的通用性和穩定性來提高 SQL 的效率,最終并沒有流行起來。
Sqoop:Sqoop(發音:skup)是一款開源的工具,主要用于在Hadoop(Hive)與傳統的數據庫(mysql、postgresql...)間進行數據的傳遞,可以將一個關系型數據庫(例如 : MySQL ,Oracle ,Postgres等)中的數據導進到Hadoop的HDFS中,也可以將HDFS的數據導進到關系型數據庫。
Storm:如果想要更快的計算速度,比如視頻網站的熱博榜,要求更新延遲在一分鐘內,上面的任何一種手段都無法勝任。于是 Streaming(流)計算模型被開發出來了。Storm 是最流行的流計算平臺。流處理的思路就是在數據進入系統的時候就進行處理,基本無延遲。缺點是不靈活,必須事先直到需要統計的數據,數據流過就沒有了,沒法進行補算。因此它是個好東西,但還是無法代替上述體系的。
HBase: 是一個構建與 HDFS 的分布式,面向列的存儲系統。以 kv 對的方式存儲數據并對存取操作做了優化,能夠飛快的根據 key 獲取綁定的數據。例如從幾個 P 的數據中找身份證號只需要零點幾秒。
除此之外還有需要定制的組件。比如:Mahout 是機器學習和推薦引擎,Nutch 是搜索引擎,Zookeeper 是集群管理工具,Sqoop 是 Hadoop 和數據庫之間的導入導出工具,Flume 是日志提取 Oozie 作業調度。
________________________
i容錯率是指在某個體系中能減小一些因素或選擇對某個系統產生不穩定的概率。POSIX表示可移植操作系統接口(Portable Operating System Interface of UNIX,縮寫為 POSIX )
0
回答0
回答0
回答0
回答0
回答0
回答0
回答9
回答0
回答0
回答