大數(shù)據(jù)框架整理_第1頁
大數(shù)據(jù)框架整理_第2頁
大數(shù)據(jù)框架整理_第3頁
大數(shù)據(jù)框架整理_第4頁
大數(shù)據(jù)框架整理_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1/11大數(shù)據(jù)框架整理大數(shù)據(jù)離線部分NameNode存中報告自身存儲的塊信息以記日志的形式將每一個操作寫在磁盤的日志文件中,然后借助SecondaryNameNodecheckpointfsImage并。重點:記住checkpoint工作過程配置多個.dir路徑為本地磁盤路徑和nfs網(wǎng)絡磁盤路徑。hdfsNameNode是Datanode?只有一個,他的存儲能力完全取決于他的內存,所以。。。。,但是其實NameNode一般不會成為瓶頸,因為一個塊記錄的元數(shù)據(jù)信息大小約為2/11默認使用操作系統(tǒng)的內核進行磁盤數(shù)據(jù)的寫入,也就是需要一個winutil的工具,而默認的安裝包中不提供,所以需要編譯源碼或者設置為使用Java的進行磁盤寫入。9:hadoop的HA(高可用)endswritableandCompareble1、排序并且求TOPOne和TOPN2、求某個用戶前幾個月的總流量,并且選擇出流量前幾名的用戶。5、求共同好友問題一個將sql轉化為MapReduce程序的、單機版的、數(shù)據(jù)倉庫工具。通過關系型數(shù)據(jù)庫(mysql等)來記錄表元數(shù)據(jù)信息。真正的數(shù)據(jù)在HDFS中。 3/11Spark安裝的時候,需要注意jline的版本沖突。內部表、外部表就差連個關鍵字(external和location)分區(qū)表、分桶表join動態(tài)分區(qū)分組查詢個累計報表操作。6:hive自定義函數(shù)(UDF)hadoopmap端進行數(shù)據(jù)的并行導入導出。HDFSHDFSHive即可。4/11//里面有一個靜態(tài)的公共內部類。publicstaticclassmybuilderimplementsIterceptor.Builder大數(shù)據(jù)實時storm部分storm1:storm是一個實時的計算框架,只負責計算,不負責存儲。它通過spout的open和nextTuple方法去外部存儲系統(tǒng)(kafka)獲取數(shù)據(jù),然后傳送給后續(xù)的bolt處理,出目錄,把信息寫到指定的外部存儲系統(tǒng)中。交叉收到的數(shù)據(jù)做異或元算中間結果不為0的原理。4:jstorm的通信機制,每一個:worker都有一個接受線程和輸出線程程,supervisor是可以快速失敗的,不影響任務的執(zhí)行。5/11topology:由spout和bolt組成的一個流程圖。他描述著本次任務的信息spout:nexttupledeclareOutputFieldsepareexecutedeclareOutputFieldsstormtuple構,它里面有兩個數(shù)據(jù)結構,一個list、一個是mapmap上面的list中找數(shù)據(jù)。kafkaitionbrokerpartition是topic信息在屋里存儲中的具體體現(xiàn),在磁盤中它是一個文件夾,名字是6/11每個partition對對應多個segment文件,默認大小是1G,為了快速定位到指定的1/使用了操作系統(tǒng)使用的pagecache緩存,緩存大,緩存到一定量的數(shù)據(jù)時,以順序寫入的方式寫入到磁盤中。因為:磁盤順序寫入的方式非常的快=>600MB/s,而隨機存儲只有100kb/s左右。2/使用操作系統(tǒng)的sendfile技術。在讀取信息發(fā)送的時候,不需要經(jīng)過用戶區(qū),而是os直接發(fā)送,可以減少很多步驟。6、為什么要多個partitioner7、為什么每個partitioner需要切分為多個segment文件對partitioner分區(qū)進行備份,利用zookeeper的選舉機制選擇leader。數(shù)據(jù)的生產(chǎn)存儲和消費讀取都是有l(wèi)eader負責,其他的replicatition只是負責備份而已。1、如何定義變量的參數(shù)傳入進去?樣例類的使用6、trit、抽象類的使用7、主構造器和輔助構造器的使用7/118、scala的高級特性高階函數(shù):作為值得函數(shù)、匿名函數(shù)、閉包、柯里化隱式轉換:一個類對象中,如果他沒有摸一個功能,但是我們有想要它實現(xiàn),可以使用objectMyPredef{//定義隱式轉換方法implicitdef(file:Rich)}使用:importMyPredef._9、Actor寫起來像多線程,用起來像socket10、akkaActorSystem.actorOf()創(chuàng)建一個Actor,創(chuàng)建的同時,就是執(zhí)行Actor中的prestart方法,去初始化一些信息。SparkRDD1、SparkRDD叫做:彈性分布式數(shù)據(jù)集,其實就是一個類,用來描述:任務的數(shù)據(jù)從哪里讀取、用那個算進行計算、得到的結果有存放在哪里、RDD之間的依賴關系是款以來還是窄依賴一系列分區(qū)每個算子作用在每個分區(qū)上一系列依賴關系最有位置(如果從HDFS上讀取數(shù)據(jù))8/11Transformation是懶加載,只是定義了這個算子的任務,該如何做,但是還沒有做。Action是立即執(zhí)行,當執(zhí)行到Action時,會觸發(fā)DAGSchudle切分stage,切分完成后,有TaskScheduler將任務通過DriverActor發(fā)送到executor中執(zhí)行。->combineByKey(x=>x,(a:List[String],b:String)=>a:+b,(m:List[String],n:List[String])=>m++n)第一個參數(shù)表示分組后的第一個值如何處理,第二個參數(shù)表示后續(xù)的值和前一個值如何處理,ist初始量作用于沒一個分區(qū),第一個func作用于map端,第二個func作用于reducece其實reduceByKey和aggregateByKey在底層都調用了combineByKey方法來實現(xiàn)對每一個分區(qū)進行操作,直接在里面使用匿名函數(shù)即可當然如果邏輯非常復雜也是可以考慮在外面先定義好這個函數(shù)之后在傳輸進去。rdd1.mapPartitions((it:Iterator[String])=>{it.toList.map(x=>(x,1)).iterator9/11首先定義一個函數(shù),當然也可以寫在里面作為匿名函數(shù)valfunc=(index:Int,it:Iterator[Int])=>{it.toList.map(x=>("index:"+index,x)).iterator}rdd1.mapPartitionsWithIndex(func).collect//自定義分區(qū)器,重寫里面的getPartition方法和numPartitions方法。//構造這個對象的時候,就把所有情況的信息傳輸過來,然后在里面進行分類處理。classHostPartition(hostArr:Array[String])extendsPartitioner{//對所有的數(shù)據(jù)進行分類,每一種類型對應一個int編號。所以使用map比較合適。valmap=newmutable.HashMap[String,Int]()for(index<-0until(hostArr.length)){map.put(hostArr(index),index)}getPartition的方法。overridedefgetPartition(key:Any):Int={map.getOrElse(key.toString,0)}overridedefnumPartitions:Int=hostArr.length}應用:10/11valhostPartition:HostPartition=newHostPartition(hostList)valallPartitionRDD:RDD[(String,(String,Int))]=host_url_count.partitionBy(hostPartition)6、自定義排序規(guī)則==>定義一個caseclassGril(yanzhi:Int,nianling:Int)extendsOrdered[Gril]withSerializable{overridedefcompare(that:Gril):Int={valyanzhiResult:Int=pareTo(that.yanzhi)if(yanzhiResult==0){returnpareTo(that.nianling)}returnyanzhiResult}}應用:valrdd2:RDD[(String,Int,Int)]=rdd1.sortBy(msg=>Gril(msg._2,msg._3))道如何使用hive的表,同時也知道去哪個NameNode哪里都數(shù)據(jù)了。11/11->sqlContext.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論