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