




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
大數據技術
1.什么是數據挖掘,什么是機器學習:
什么是機器學習
關注的問題:計算機程序如何隨著經驗枳累自動提高性能:
研究計算機怎樣模擬或比現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自
身的性能;
通過輸入和輸出,來訓練一個模型。
□數據挖掘(商務智能)
■通過特定的算法對大量的數據|進行自動分析,揭示
數據中隱藏的歷史規律和未來發展趨勢,為決策者
提供參考
口加器學習(人工智能):盡可能減少人的影響
■通過給機器“嘿取”數據,讓機器像人一樣通過學
習逐步自我提高、兔善,使挖掘和預測更準確
2.大數據分析系統層次結構:應用層、算法層、系統軟件層、基礎設施層
3.傳統的機器學習流程
預處理-》特征提取-》特征選擇一》再到推理-》預測或者識別。
手工地選取特征是一件非常費力、啟發式(需要專業知識)的方法,如果數據被很好的表達成了特征,通常線性
模型就能到達滿意的精度。
4.大數據分析的主要思想方法
4.1三個思維上的轉變
關注全集(不是隨機樣本而是全體數據):面臨大規模數據時,依賴于采樣分析;統計學習的目的一一用盡可能
少的數據來證實盡可能重大的發現;大數據是指不用隨機分析這樣的捷徑,而是采用大局部或全體數據。
關注概率(不是精確性而是概率):大數據的簡單算法比小數據的復雜算法更有效
關注關系(不是因果關系而是相關關系):建立在相關關系分析法基礎上的預測是大數據的核心,相關關系的核
心是量化兩個數據值之間的數理關系,關聯物是預測的關鍵。
4.2數據創新的思維方式
可量億是數據的核心特征(將所有可能與不可能的信息數據化);挖掘數據潛在的價值是數據創新的核心;三類
最有價值的信息:位置信息、信令信息以及網管和日志。
數據混搭為創造新應用提供了重要支持。
數據墳墓:提供數據效勞,其他人都比我聰明!
數據廢氣:是用戶在線交互的副產品,包括了瀏覽的頁面,停留了多久,鼠標光標停留的位置、輸入的信息。
4.3大數據分析的要素
人數據“價值鏈”構成:數據、技術與需求(思維);數據的價值在于正確的解讀。
5.數據化與數字化的區別
數據億:將現象轉變為可制表分析的量化形式的過程;
數字化:將模擬數據轉換成使用0、1表示的二進制碼的過程
6.基于協同過濾的推薦機制
基于協同過濾的推薦(這種機制是現今應用最為廣泛的推薦機制)一一基于模型的推薦(SVM、聚類、潛在語義
分析、貝葉斯網絡、線性回歸、邏輯回歸)
余弦距離(又稱余弦相似度):表示是否有相同的傾向
歐幾里得距離(又稱歐幾里得相似度):表示絕對的距離
這種推薦方法的優缺點:
它不需要對物品或者用戶進行嚴格的建模,而且不要求物品的描述是機器可理解的;推薦是開放的,可以共用他
人的經驗,很好的支持用戶發現潛在的興趣偏好。
數據稀疏性問題,大量的用戶只是評價了一小局部的工程,而大多數的工程是沒有進行評分;冷啟動問題,新物
品和新用戶依賴于用戶歷史偏好數據的多少和準確性,一些特殊品味的用戶不能給予很好的推薦。
7.機器學習:構建復雜系統的可能方法/途徑
機器學習使用場景的核心三要素:存在潛在模式、不容易列出規貝!并編程實現、有歷史的數據
8.機器學習的基礎算法之PLA算法和Pocket算法(貪心PLA)
感知港一一線性二維分類器,都屬于二分類算法
二者的區別:迭代過程有所不同,結束條件有所不同;
證明了線性口J分的情況卜是PLA和Pocket可以收斂。
9,機器為什么能學習
W^n)+Xn]In-sampleerrorEin(h)
WX)^f(xnOut-of-sampleerrorE^fh)
學習過程被分解為兩個問題:
能否確保Eout(g)與Ein(g)足夠相似?
能否使Ein(g)足夠小?
規模較大的N,有限的dVC,較低的Ein條件下,學習是可能的。
切入點:利用具體特征的,基于有監督方式的,批量學習的分析,進行二分類預測。
1O.VC維:
〃的vc維表示為vc(〃)
■代能好機〃分收的乘人祭冬的大小。若〃能分收任意大小的
條金,邱么VC(〃)為無宏大。
■裊衽一介模用分類區的復條度
分散(shatter)
■對于一個給定善含S="/,…,xd},人果一個分類我,,能夠對
祟合S中所有元樂的任云一鐘標記方式限行分類,時稱〃統
號今致5
■例如:二維筏性分類工〃,就是平面上的fi.線,番金S包合3
個支的情況小的推度是3),只要存與一希S中3個樣本的
核無關夕:,使得它的所有標卷分M方式’2八3=8種J,郁是
二般線性分類區可分的,就耕為可被分收,因此”的VC維
曼少為3
IVC維反映了函數集的學習能力,VC維越大則學習機
器越復雜(農量越大)
I目前尚沒有通用的關于任意舀教集VC維計算的理論
,只對一些特殊的函數集知道其VC維
■如:N維空間中式性分類衰才。為性實舀教的VC維是N+1
11.噪聲的種類:
數據噪聲:Eiu
g的VC維度過高帶來的噪聲:dvc
訓練集過小帶來的噪聲:N
12.誤差函數(損失函數)上似。E°'"<S>=列或切=公川
兩種重要的諼差法數
□“是必K
■是我第由的兩米(poim、vHc):A*—4*XX<+Mt累*
■藥”重#?的:0Icnror.squarederror
E/g/=訟-err(g(x)f(x.?9(。)記為y'J(。:記為y
errfy'.y)-\y^y\a14ft*,位*用Xl分矣區上
errfy*,y)=(X-y)2+方婚港.統*用左9用分期J.
13.給出數據計算誤差
1輸入數據
P(y=1\x)=0.2,P(y=2\x)=0.7fP(y=3x)=0.1
0/1誤差的情況平方誤差的情況
972
err(y'fy)=[[yVy]]err(yty)=(y-y)
r1avg.err0.84f1avg.err1.1
12avg.err0.3avg.err0.3
|3avg.err0.9avg.err1.5
11.9avg.err1.01.9avg.err0.29
f(x)=argmaxP(y\x)f(x)=^y-P(y\x)
yer
14.線性回歸算法:簡單并且有效的方法,典型公式〃㈤=卬小
□左數據條D上,構建輸入矩陣X,構建.輸出向量y
--Xi--]ryf
xNLYA-
□i+Xpseudo-inverse
□X+的維度(d+1JxN
□返回最優的w=X*y
線性回歸的誤差函數:使得各點到目標線/平面的平均距離最小!
fz2
erv(yfy)=(y-y)
2
4(w)=^Xn=i(h(xn)-yn)f
九(4)就是w%
目標,錄小化E/M,,
15.線性回歸重點算法局部:
最優化的線性回歸斛(解空河)
OTT
VEin(w)=^XXw-Xy)=()
XLY如果可用rx如果不可逆
果是奇異矩陣,
WLN=XX)TXTy則不可逆;
(XTX)TX7記為犬,其他方式定義
款為pseudo-inverse
N>d+1叫川=乂十y
上述條件保證大部分情況下NX可逆
戰性回歸算注
口在數據集D上,構建輸入矩陣X,構建輸出向量y
■y/
--%7%
x=y=???
__V*——
L八」yN.
□計算pseudo-inverse
□X+的維度Cd+1JxN
□返回最優的w=xfy
簡單并且有效的方:去!
16.線性分類與線性回歸的區別:
□線性分類,NP-hard,沒有解淅解
y={“,+】}{-1,+1}UR
7
h(x)=signfw^任用線性回歸來做分類?
errfy',y)=[v7yj
NP-Hard1.在救據條D上跑一遍或性
回歸;
□線性回歸,有效的臀折斛
2.g(x)=sign(JVh?X).
ycR
h(x)=M,7X
etr(yf,y)=(yz-y)2
離權率的解祈解
2
mnEin(w)=IIXw-y||Ejn(w),連續,可微分,凸函教
膏(w)1
0-
如、0
(卬)—
VEinM=3%
■■■???
£^121.0.
-0%(卬)-
尋找W曲,使得V&W/3=0
有好的并且E。,〃是好的,發生了學習,
T7.過擬合:
原因:模型復雜太高,噪聲,數據量規模有限。
解決方案:使用簡單的模型,數據清洗(整形),正則化,驗證。
18.正則化
n*l
H(Q?f9.X同時K及“下外泉,
10
¥同于求M如下大孑的反小化:
£/M+
求解」/(%明)+號%£「0
最優解:W.£C=0Z+入I尸2ry.
19.分布式文件系統,
一種通過網絡實現文件在多臺主機上進行分布式存儲的文件系統;分布式文件系統?般采用C/S模式,客戶端以
特定的通信協議通過網絡與效勞器建立連接,提出文件訪問請求;客戶端和效勞器可以通過設置訪問權限來限制
請求方對底層數據存儲塊的訪問。
20.計算機集群結構:
分布式文件系統把文件分布存儲到多個計算機節點上,成千上萬的計算機節點構成計算機集群.
與之前使用多個處理器和專用高級硬件的并行化處理裝置不同的是,目前的分布式文件系統所采用的計算機集群
都是由普通硬件構成的,因此大大降低了硬件上的開銷。
21.分布式文件系統的結構:
分布式文件系統在物理結構上是由計算機集群中的多個節點構成,這些節點分為兩類,一類叫“主節點”
(MasterNode)或者也被稱為“名稱結點〃(NameNode),另一類叫“從節點”(SlaveNode)或者也被稱為“數據
節點。
22.HDFS
主要特性:兼容廉價的硬件設備、支持大數據存儲、流數據讀寫、簡單的文件模型、強大的跨平臺兼容性;
局限性:不適合低延遲數據處理、無法高校存儲大量小文件、入支持多用戶寫入及任意修改文件
塊:
hdfs的名稱節點存儲元數據、元數據保存在內存中、保存文件,block,datanode之間的映射關系;hdfs
的數據節點存儲文件內容、文件內容保存在磁盤、維護了blockid到datanode本地文件的映射關系。
?在HDFS中,名稱節點(NameNode)負責管理分布式文件系
統的命名空間(Namespace),保存了兩個核心的數據結
構,即FsImage和EditLog:
①Fslmage用于維護文件系統樹以及文件樹中所有的文件和文件夾的元數據
②操作日志文件EditLog中記錄了所有針對文件創建、刪除、重命名等操作
?名稱節點記錄了每個文件中各個塊所在的數據節點的位置
名稱節點的啟動
在名稱節點啟動的時候,它會將FsImage文件中的內容加
載到內存中,之后再執行EditLog文件中的各項操作,使
得內存中的元數據和實際的同步,存在內存中的元數據
支持客戶端的讀操作。
名稱節點啟動后,HDFS中的更新操作會重新寫到EditLog
文件中,因為Fslmage文件一般都很大(GB級別的很常見
),如果所有的更新操作都往Fslmage文件中添加,這樣
會導致系統運行的十分緩慢,因此,HDFS的所有更新操
作都是直接寫到EditLog中。
Fslma^e文件
rFsImage文件包含文件系統中所有口錄和文件'node的并
列化形式。每個inode是一個文件或目錄的元數據的內部
表示,并包含此類信息:對于目錄,存儲修改時間、權
限和配額元數據;對于文件,存儲復制等級、修改和訪
問時間、訪問權限、塊大小以及組成文件的塊。
,FsImage文件沒有記錄塊存儲在哪個數據節點。而是由名
稱節點把這些映射保留在內存中,當數據節點加入HDFS
集群時,數據節點會把自己所包含的塊列表告知給名稱
節點,此后會定期執行這種告知操作,以確保名稱節點
的塊映射是最新的。
約式文件系統小結
分布式文件系統是大教據時代解決大規模數據存儲問邈的有效解決方
案,HDFS開源實現了GFS,可以利用由廉價破件構成的計算機集群實
現海量數據的分布式存儲。
HDFS具有美容廉價的硬件設備、流數據讀寫、大數據集、簡單的文件
模型、強大的跨平臺兼字性等特點。但是.也要注意到,HDFS也有自
身的局F艮性,比如不適合低延遲數據訪問、無法高效存儲大量小文件
和不支持多用戶寫入及任意修改文件等。
塊是HDFS核心的極念,一個大的文件會敕拆分成很多個塊。HDFS采用
抽象的塊概念,具有支持大規模文件存儲、簡化系統設計等優點。
HDFS采用了主從(Master/Slave)結構模型,一個HDFS集群包括一個
名稱節點和若干個數據節點。名稱節點4賁管理分布式文件系統的命
名空間:款據節點是分布式文件系統HDFS的工作節點,負方數據的存
儲和讀取?
HDFS采用了冗余數據存儲,增強了數據可靠性,加快了數據傳輸速度
oHDFS還采用了相應的數據存放、數據讀取和數據復制策略,表提升
系統槃體讀寫響應性能。HDFS把我件出錯看作一種常態,設計了錯誤
恢復機制。
23.分布式數據庫概述:
四類典型的作用于大數據存儲和管理的分布式數據庫:并行數據庫、NoSQL數據管理
系統、NewSQL數據管理系統、云數據管理系統。
并行數據庫:
?定義
,通it封行使用多個CPU和網盒梟精請媼裂我找找、建立京
引、執行女詢等操作并懺化以攝升也能的代提張系統.a
往運行在通用計算機如成的臬”環境中.
?優點
,通遼3個節點畀什執行敦疆厚任務.提高終個敦裾以累統
的帆能和可用帆.
?不足
,并行負據以諛計和優化時認為集“中節依數量是國定的.
若果對某“進什"展義收饗.數據外移戌本高,還會小改
系統一稹時用不可用.
,認為節點做陣是特例.國此只找供事務域別的咨懵,如果
查詢過包中節點出借.簽個查詢名條立運行.
NoSQL數據管理系統:
定義
沒有固定微提根K并且可以水平如黑妁系統械林為NoSOL.ftoSQL不支
馬關系家施根里?
優點
夸泰記錄胡有唯一的便.一次操作笈,取單個記錄帽強
了系統可始展41.
身并行第據@不同.NoSOL數推品優能夠£于依端硬件《道月PCR)
選行水平療及,靈活性方.成本傀.
NoSOL軟務系優&吐量化傳統關系做探管理系統臬高很S.W*.
GoogI。帕BigtabIe每天可處理20P6的敦據.
不足
^lHACID4Ht.ACID時性胞物使系統在中斷的情況■下果證在
線亨務能的準硝執行■,
NoSOL系比提供不同的查詢娛也增加了開發者。把.)44*年人孑
NewSQL數據管理系統:
定義
筑能物支持傳統關系型式提去的ACID事務,/代和SOL查詢
,又能否提供NoSOL欲依管理樂優的可“晨姓妁收握管JT
系統.NerSOL是時傳統基于$01的關系型數楣牌?的釗新。
特性
文持美看數探根型
仗用SQL作為正受快。
其行高吞吐量和高可獷展性
云數據管理系統:
定義
基于云計算技術的數據管理系統,用戶無需在本地安裝數
據庫軟件,只需使用“云數據庫服務提供商”拄供的數據
庫服務即可.
優點
用戶無需購買基礎設施和軟件,性價比高。
用戶可以根據自己的需求申請存儲資源即可,并且可以根
據應用蒿汆動態變化,刃伸縮性好?
用戶無需考慮云數據庫底層的硬件和軟件實現.只需要通
過其提供的接口使用其服務。
不足
存儲在云數據庫中的數據可能會造成除私泄舞與"1t*+入.
Nosql簡介:數據模型靈活、簡潔;水平可擴展性強;系統吞吐量高;
關系數據庫無法滿足大數據表現:無法滿足海量數據的管理需求、無法滿足數據高并發的需求、無法滿足而可拓
展性和高可用性的需求。
關系數據庫的關鍵特性包括完善的事務機制和高效的查
詢機制。但是,關系數據庫引以為傲的兩個關鍵特性,到了
大數據時代卻不一定是必須,主要表現在以下幾個方面:
(1)網絡大數據系統通常不要求嚴格的數據庫事務
(2)網絡大數據系統往往并不要求嚴格的讀寫實時性
(3)網絡大數據系統通常不包含大量復雜的SQL查詢
Nosql與關系數據庫的比較:
關系數據庫
?優勢:以完善的關系代數理淪作為基礎,有嚴格的標準,支持事務
ACID四性,借助索引機制可以實現高效的查詢,技術成熟,有專業公
司的技術支持
?劣勢:可擴展性較差,無法較好支持海量數據存儲,敷據模型過于死
板、無法較好支持大數據應用,事務機制影響了系統的整體性能等
NoSQL數據庫
?優勢:可以支持超大規模數據存儲,靈活的數據模型可以很好地支持
大數據應用,具有強大的橫向擴展能力等
?劣勢:塊乏數學理論基礎,復雜查詢性能不高,大都不能實現事務強
一致性,很難實現數據完整性,技術尚不成熟,缺乏專業團隊的技術
支持,維護較困難等
NoSQL的四大類型:鍵值數據庫、
相關產品RedisxRiakxSimpleDB.Memcached>Scalaris等等
鍵/值對
數據模型鍵是一個字符串對象
值可以是任意類型的數據,比如整型、字符型、數組、列表、集合等
涉及頻繁讀寫、擁有簡單數據模型的應用
典型應用
內容緩存(例如,會話、配置文件、參數、購物車等)
優點擴展性好,靈活性好,大量寫操作時性能高
缺點難以存儲結構化信息,條件查詢效率較低
不足通過鍵而是通過值來查:鍵值數據庫根本沒有通過值查詢的途徑
需要存儲數據之間的關系:在鍵值數據庫中,不能通過兩個或兩個以上
不適用場景的鍵來關聯數據
需要事務的支持:在一些鍵值數據庫中,產生故障時,不可以回滾
百度(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter(Redis
使用者和Memcached)、StackOverFlow(Redis)、Instagram(Redis)、
Youtube(Memcached)、Wikipedia(Memcached)
列族數據庫、
相關產品BigTable、HBase、Cassandra、HadoopDB、GreenPhmi等等
數據模型列存儲
數據在地理上分布于多個數據中心的應用程序
可以容忍副本中存在短期不一致情況的應用程序
典型應用
擁有動態字段的應用程序
擁有潛在大量數據的應用程序(TB級以上)
優點查找速度快,可擴展性強,容易進行擴展,旦雜性低
缺點功能較少,大都不支持強事務一致性
不適用場景需要ACID事務支持的場景
eBay(Cassandra)、Instagram(Cassandra)、NASA
使用者(Cassandra)、Twitter(CassandraandHBase)、Facebook
、Yahool(HRa<je)
文檔數據庫、
相關產品MongoDB,CouchDB,RavenDB%TerrastorexThniDB等等
鍵/值
數據模型值(value)是版本化的(有結構)文檔
存儲、索引并管理面向文檔的數據或者類似的半結構化數據
典型應用例如,用于后臺具有大量讀寫操作的網站、使用JSON數據結構
的應用、使用嵌套結構等非規范化數據的應用程序
數據結構靈活.豆雜性低,性能好(高并發)
優點提供嵌入式文檔功能,將經常查詢的數據存儲在同一個文檔中
既可以根據鍵來構建索引,也可以根據內容構建索引
缺點缺乏統一的查詢語法
不適用場景在不同文檔上添加事務的場景、需要支持文檔間的事務的場景
百度云數據庫()、、
使用者MongoDBSAP(MongoDB)Foursquare
(MongoDB)、NBCNews?RavenDB)
圖形數據庫
相關產品Neo4J、OnentDB>InfoGrid>InfiniteGraphsTrinity等等
數據模型圖結構
曲羽應用專門用于處理具有高度相互關聯關系的數據,比較適合于社交網
央里回用絡分析、路徑規劃、依賴分析等問題
優點可用于構建復雜的關系圖譜,并支持復雜的圖算法
缺點復雜性高,只能支持一定的數據規模
使用者Adobe(Neo4J)、Cisco(Neo4J)、T-Mobile(Neo4J)
NoSQL的理論基礎(CAP與ACID、BASE)
C(Consistency):一致性,是指任何一個讀操作總是能夠讀到之前
完成的寫操作的結果,也就是在分布式環境中,多點的數據是一致的
,或者說,所有節點在同一時間具有相同的數據
A:(Availability):可用性,是指快速獲取數據,可以在確定的時
間內返回操作結果,保證每個請求不管成功或者失敗都有響應:
P(ToleranceofNetworkPartition):分區容忍性,是指當出現
網絡分區的情況時(即系統中的一部分節點無法和其他節點進行通信
),分離的系統也能夠正常運行,也就是說,系統中任意信息的丟失
CAP:或去敗不會匯響系統的繼饌運作。
一個分布式系統不可能同時滿足一致性、可用性和分區容忍性這三個需求。
當處理CAP的問題時,可以有幾個明顯的選擇:
?CA:也就是強調一致性(C)和可用性(A),放棄分區容忍性(P)
,最簡單的做法是把所有與事務相關的內室都放到同一臺機器上。很
顯然,這種做法會嚴重影響系統的可擴展性。傳統的關系數據庫(
MySQL、SOLServer和PostgreSQL),都采用了這種設計原則,因此
,擴展性都比較差
?CP:也就是強調一致性(C)和分區容忍性(P),放棄可用性(A)
,當出現網絡分區的情況時,受影響的服務需要等待數據一致,因此
在等待期間就無法對外提供服務
?AP:也就是強調可用性(A)和分區容忍性(P),放棄一致性(C)
,允許系統返回不一致的數據:》:北#勺碌大停
ACID(關系數據庫的事務具有的四個特性)
A(Atomicity):原子性,是指事務必須是原子工作單元,對于其數
據修改,要么全都執行,要么全都不執行
C(Consistency):一致性,是指事務在完成時,必須使所有的數據
都保持一致狀態
I(Isolation):隔離性,是指由并發事務所做的修改必須與任何其
它并發事務所做的修改隔離
D(Durability):持久性,是指事務完成之后,它對于系統的影響
是永久性的,該修改即使出現致命的系統故障也將一直保持
必要才貌中大厚
BASE
BASE的基本含義是基本可用(BasicallyAvailbIe
)、軟狀態(Soft-state)和最終一^致性(Eventual
consistency):
?基本可用
基本可用,是指一個分布式系統的一部分發生問題變得不可用
時,其他部分仍然可以正常使用,也就是允許分區失敗的情形出現
“軟狀態(soft-state)”是與"硬狀態(hard-state)”相對應
的一種提法。數據庫保存的數據是“理狀態”時,可以保證數據一致性
,即保證數據一直是正確的?!败洜顟B”是指允許系統中的數據存在中
間狀態,并認為該中間狀態的存在不會影響系統的整體可用性,即允許
系統在不同節點的數據副本之間進行數據同步的過程存在延時。
?最終一致性
一致性的類型包括強一致性和弱一致性,二者的主要區別在于高并
發的數據訪問操作下,后續操作是否能夠獲取最新的數據。對于強一致
性而言,當執行完一次更新操作后,后續的其他讀操作就可以保證讀到
更新后的最新數據:反之,如果不能保證后續訪問讀到的都是更新后的
最新數據,那么就是弱一致性。而最終一致性只不過是弱一致性的一種
特例,允許后續的訪問操作可以暫時讀不到更新后的數據,但是經過一
段時間之后,必須最終讀到更新后的數據。
NoSQL到NewSQL:
NoSQL
>提供良好的擴展性和靈活性,很好地彌補了傳統關系數據庫的缺
陷,較好的滿足了互聯網大數據應用需求
》由于采用非關系數據模型,不具備結構化查詢等特性,查詢效率
尤其是發雜查詢方面不如關系數據庫,并且不支持事務ACID四性
NewSQL
>最近NewSQL開始逐漸升溫
>不僅具有NoSQL對海量數據的存儲和管理能力,還保持了傳統數據
庫支持ACID和SQL等特性
》雖然NewSQL數據庫內部結構差異很大,但都有兩個共同特點:都
支持關系數據模型:都是用SQL作為其主要接口
>目前具有代表性的NewSQL數據庫有Spanner、VoltDB等
大數據應用:
百度大數據引擎的構成:開放云、數據工廠、百度大腦
開放云:
百度的大規模分布式計算和超大規模存儲云,開放云開放的是基
礎設施和硬件能力。過去的百度云主要面向開發者,大數據引擎
的開放云則是面向有大數據存儲和處理需求的“大開發者”。
數據工廠:
數據工廠提供將海量數據組織、管理的軟件能力,與數據庫作用
類似,不同的是數據工廠是被用作處理TB級甚至更大的數據。百
度數據工廠支持超大規模異構數據查詢,支持SQL-1ike以及更復
雜的查詢語句,支持各種查詢業務場景。
百度大腦:
百度大腦將百度此前在人工智能方面的能力開放出來,主要是大
規模機器學習能力和深度學習能力。此前它們被應用在語音、圖
像、文本識別,以及自然語言和語義理解方面,并通過百度
Inside等平臺開放給了智能硬件?,F在這些能力將被用來對大數
據進行亨能化的分析、學習、處理、利用,并對外開放。
阿里大數據應用:去IOE
為什么要去IOE?
?集中式架構,制約服務能力
A無法快速擴容(無法滿足雙11快速擴容需求)
》穩定性差(一臺服務器出現問題產生,嚴重影響服務
質量)
,技術面臨失控,創新潛力受限
A黑盒技術,只能依靠廠商解決問題
A黑盒技術壓制了工程師的聰明才智
?專用設備難以規模化
》成本高昂
》專用機架、專用電源
大數據在電信行業的應用:
運營商的數據資源優勢
電信運營商擁有多年的數據積累,其數據資源的廣度和深度是移動互聯網企
業難以相提并論的。電信運營商在人數據應用_L的優勢主要體現為數據資
源的知性、完整性和連續性:
□豐富性:是指電信運營商擁有的數據涉及的范圍廣,堆度豐富,信息量巨
大。如前所述,這些數據涉及到數億用戶的各類行為信息,數據量級已從
TB(1012GB)發展至PB乃至ZB,不但涉及到如財勞收入、業務發展量
等結構化數據,也會涉及到圖片、文本、音頻、視頻等非結構化數據。
口完整性:是指電信運營商翔白的數據涵蓋全業務、全客戶和全渠道,數據
信息會L3G時代運營商的數據涉及移切語言、固定電詁、固網接入和尢
線上網等所有業若,也會涉及公眾客戶、政企客戶和家庭客戶,同時也會
收集至IJ實體渠道、電子渠道、直銷渠道等所有類型渠道的接觸信息。
□朝使:是指電信運營商擁有的數據記錄周期長、留存時間長,數據延續
性好,覆蓋客戶的從入網到離網前的全生命周期的海量信息。
國內外電信運營商已經在大數據應用方面做出了積極的
探索,主要從以下五個方面運用大數據:
①網絡管理和優化,包括基礎設施建設優化、網絡運營管
理和優化;
②精準營銷,包括客戶畫像、關系鏈研究、個性化推薦和
精準廣告投放;
③客戶關系管理,包括客服中心優化以及客戶生命周期管
理;
④企業運營管理,包括業務運營監控和經營分析;
⑤數據變現,包括提供數據訪問API、直接發布數據或統計
結果。
24.分布式并行編程框架MapReduce
“摩爾定律”,CPU性能大約每隔18個月翻一番
摩爾定律從2005年開始逐漸失效,然而需要處理的
數據量快速增力口,人們開始借助于分布式并行計算
來提高程序性能
程序運行在大規模計算機集群上,可以分布式并行
執行大規模數據處理任務,從而獲得更強的計算能
力
谷歌公司提出了新型分布式并行編程框架MapReduce
25
傳統并行計算框架MapReduce
集群架構/容錯性共享式(共享內存/共享存儲),容非共享式,容錯性好
錯性差
硬件/價格/擴展性專用服務器、高速網、SAN,價格普通PC機,便宜,擴展性
貴,擴展性差好
編程/學習難度what-how,難胃hat,簡單
適用場景實時、細粒度計算、計算密集型批處理、非實時、數據密
集型
MapReduce將復雜的、運行于大規模集群上的并行計算過
程高度地抽象到了兩個函數:Map和Reduce
編程容易,不需要掌握分布式并行編程細節,也可以很容
易把自己的程序運行在分布式系統上,完成海量數據的計
算
MapReduce采用“分而治之”策略,一個存儲在分布式文
件系統中的大規模數據集會被切分成許多獨立的分片(
split),然后進行分布式并行處理
MapReduce框架采用了Master/Slave架構,包括一
Master和若干個SIave
MapReduce的體系結構:ClientsJobTracker>TaskTracker>Task
1)CIient
—用戶編寫的MapReduce程序通過Client提交到
JobTracker
-用戶可通過Client提供的一些接口查看作業運行狀態
2)JobTracker
-JobTracker負責資源監控和作業調度
①JobTracker監控所有TaskTracker的健康狀況,一旦
發現失敗,就將相應的任務轉移到其他節點
②JobTracker會跟蹤任務的執行進度、資源使用量等信
息,并將這些信息告訴任務調度器(TaskScheduIer
),而調度器會在資源出現空閑時,選擇合適的任務
去使用這些資源
?!ALAi.?
3)TaskTracker
-TaskTracker會周期性地通過“心跳”將本節點上資源
的使用情況和任務的運行進度匯報給JobTracker,同時
接收JobTracker發送過來的命令并執行相應的操作(如
啟動新任務、殺死任務等)
-TaskTracker使用“slot”等量劃分本節點上的資源量
(CPU、內存等)o一個Task獲取到一個slot后才有機
會運行,而Hadoop調度器的作用就是將各個TaskTracker
上的空閑slot分配給Task使用。slot分為Mapslot和
Reduceslot兩種,分別供MapTask和ReduceTask使
用
4)Task
-Task分為MapTask和ReduceTask兩種,圖里嗖”
TaskTracker啟動
MapReduce的工作流程:
?不同的Map任務之間不會進行通信
?不同的Reduce任務之間也不會發生任何信息交換
?用戶不能顯式地從一臺機器向另一臺機器發送消息
?所有的數據交換都是通過MapReduce框架自身去實現的
Split(分片):
HDFS以固定大小的block為基本單位存儲數據,而對于MapReduce而%,其處
理單位是split。split是一個邏輯榛念,它只包含一些元數據信息,比如數據
起始位置、數據長度、數據所在節點等。它的劃分方法完全由吃自己去冷。
Map端的Shuffle過程詳解:
2.Map端的Shuffle過程
①輸入數據和執行MaM£務?每個Map任務分配一個緩存(默認100MB)
?溢寫比例默認為0.8
Map任務?分區默認采用哈希函數
?排序是默認的操作
?排序后可以合并(Combine)
?合并不能改變最終結果
?在Map任務全部結束之前進行歸并
?歸并得到一個大的文件,放在木地磁盤
?文件歸并時,如果溢寫文件數量大于預定
俏(默認昂3)則可以再次啟動Combiner,
減少寫入磁盤的數據量
?JobTracker會一總監測Map任務的執行,并
通知Reduce任務來領取數據
合并(Combine)和歸并(Merge)的區別:
兩個鍵值對和如果合并,會得到<“a”,2>,如果歸并,會得到
Reduce端的shuffle詳解:
?Reduce任務通過RPC向JobTracker詢問Map任務是否已經完成,若完成,則領取數據
?Reduce領取數據先放入緩存,來自不同Map機器,先歸并,再合并,寫入磁盤
?多個溢寫文件歸并成一個或多個大文件,文件中的鍵值對是排序的
?當數據很少時,不需要溢寫到磁盤,直接在緩存中歸并,然后輸出給Reduce
MapReduce小結:
介紹了MapReduce編程模型的相關知識。MapReduce將復雜
的、運行于大規模集群上的并行計算過程高度地抽象到了
兩個屬數:Map和Reduce.并極大地方便了分布式編程工
作,編程人員在不會分布式并行編程的情況下,也可以很
容易將自己的程序運行在分布式系統上,完成海量數據集
的并算。
MapReduce執行的全過程包括以下幾個主要階段:從分布
式文件系統讀入數據、執行Map任務輸出中間結果、通過
ShuffIe階段把中間結果分區排序整理后傳遞給Reduce任
務、執行Reduce任務得到最終結果并寫入分布式文件系統
26.Spark特點:
運行速度快:采用DAG執行引擎和內|存計算
容易使用:支持包括Scala、Java、Python和R語
言在內的多種語言進行編程
與HDFS等存儲層兼容:可以獨立運行,也可以運
行在YARN等集群管理系統之上,特別地,它可以
運行在任何的Hadoop數據源上,例如,HDFS和
HBase
通用性:類似Hadoop,Spark提供了完整而強大
的技術棧,包括SQL查詢、流式計算、機器學習
和圖算法等組件
Hadoop的局限性:
表達能力有限
-計算都要轉換成Map和Reduce操作,難以描述復雜的數
據處理過程
磁盤10開銷大
-每次執行都需從磁盤讀數據,計算過程中,需要將中
間結果寫入磁盤
延遲高
-一次計算分解成一些列按順序執行的MR任務,任務間
銜接涉及10開銷,產生較高延遲,且一個任務完成前
,其他任務無法開始
Spark與Hadoop相比
-其計算模式也屬于MR,但不局限與此,還提供多種RDD
(ResiIientDistributedDataset)操作,編程模型
更加靈活
-Spark提供內存計算,中間結果放在內存中,10開銷,
延遲低,擁有更高地迭代運算效率
-基于DAG任務調度執行機制,優于MR迭代執行機制
-使用Hadoop需要編寫不少相對底層的代碼,而Spark提
供高層次、簡潔的API
-Spark主要替代Hadoop中的MR,而不能完全替代Hadoop
,它很好地融入了Hadoop生態圈,可借助于YARN實現
資源調度管理,借助HDFS實現分布式存儲
-Hadoop可使用廉價、異構的機器實現分布或考償交計
算,而Spark對硬件(內存、CPU)要求稍高(③進3攵生冬交
Spark生態系統:
在實際應用中,大數據處理主要包括以下三個類型:
①復雜的批量數據處理:通常時間跨度在數十分鐘到數小時之間
②基于歷史數據的交互式查詢:通常時間跨度在數十秒到數分鐘之間
③基于實時數據流的數據處理:通常時間跨度|在數百毫秒到數秒之間
當同時存在以上三種場景時,就需要同時部署三種不同的大數據處理
平臺,這樣做難免會帶來一些問題:
①不同場景之間揄入輸出數據不能做到無縫共享,通常需要進行數
據格式的轉換
②不同的軟件需要不同的開發和維護團隊,帶來了較高的使用成本
③比較難以對同一個集群中的各個系統進行統一的資源協調和分配
Spark的設計遵循“一個軟件棧滿足不同應用場景”的理
念,逐漸形成了一套完整的生態系統,BDAS(Berkeley
DataAnaIyticsStack)
以Spark為核心的BDAS既能夠提供內存計算框架,也可以
支持SQL查詢、實時流式計算、圖計算和機器學習等
另外Spark可以部署在Hadoop2.0的資源管理器YARN之上
融入Hadoop生態系統—m
RDD:
?RDD是Spark中對數據和計算的抽象,是Spark中最核心的
概念
?一個RDD就是一個分布式對象集合,本質上是一個只讀的
分區記錄集合,每個RDD可分成多個分區,每個分區就是
一個數據集片段,并且一個RDD的不同分區可以被保存到
集群中不同的節點上,從而可以在集群中的不同節點上進
行并行計算
?RDD提供了一種高度受限的共享內存模型,即RDD是只讀的
記錄分區的集合,不能直接修改,只能基于穩定的物理存
儲中的數據集創建RDD,或者通過其他已有的RDD上執行確
定的轉換操作(如map、join和groupby)而創建得到新
的RDD
RDD提供了一組豐富的操作以支持常見的數據運算,分為“
動作”(Action)和“轉換”(Transformation)兩種類型
Transf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025江蘇徐州市中心醫院招聘高層次衛生人才31人筆試備考題庫及一套參考答案詳解
- 2025江蘇揚州寶應縣“鄉村振興青年人才”招聘67人筆試備考題庫完整參考答案詳解
- 2025廣東選拔汕頭市市級鄉村振興人才80人筆試備考題庫及完整答案詳解1套
- 2025年鄂爾多斯市公務員考試行測試卷歷年真題及答案詳解(名校卷)
- 遼寧省鞍山市2024-2025學年高一下學期月考物理試卷(B)(解析版)
- BIM助力建筑材料回收利用的實例分析
- 肌膚保養和化妝品搭配的技巧
- 2025年遠程醫療助力偏遠地區醫療服務能力提升的跨區域合作
- 數學 第七章相交線與平行線專題素養測評卷2024-2025學年人教版數學七年級下冊
- 嫵媚魅力上班族的晚宴妝容
- 云南省昆明市官渡區2022-2023學年七年級下學期期末語文試題(含答案)
- 電動車分期付款的合同范本
- 《反對校園欺凌》話劇劇本
- 國家開放大學電大《課程與教學論》形考任務2試題及答案
- 最全廣聯達教程全套
- 廣東省全國大學英語四、大級考試考務手冊
- 東風雪鐵龍世嘉c-quatre說明書(三廂)
- 年產10噸功能益生菌凍干粉的工廠設計改
- MT-T 1199-2023 煤礦用防爆柴油機無軌膠輪運輸車輛通用安全技術條件
- 銀行業服務考核評價表
- 國家開放大學《高等數學基礎》形考任務1-4參考答案
評論
0/150
提交評論