Hadoop程式設計模型之InputFormat

2021-07-02 00:38:09 字數 682 閱讀 4854

inputformat介面主要用於描述輸入資料的格式,它有兩個方法:

inputsplit

getsplits(jobconf job, int numsplits)

recordreaderv> getrecordreader(inputsplit split,

jobconf job,

reporter reporter)

getsplits方法完成資料切分功能,它會將輸入資料切分成numsplits個inputsplit,注意inputsplit有兩個特點:

1.只是邏輯上的分片,只記錄分片的元資料資訊,比如起始位置、長度、所在的節點列表

2.可序列化,以保證程序間通訊。當作業被提交到jobtracker之前,client會呼叫作業inputformat中的getsplit函式,並將得到的inputsplit序列化到檔案中,當作業提交到jobtracker端對作業初始化時,可直接讀取該檔案,解析出所有的inputsplit,並建立對應的map task

getrecorder方法返回乙個recordreader物件,該物件可將輸入的inputsplit解析成若干個key/value對。mapreduce框架在map task執行過程中會不斷呼叫recordreader物件中的方法,迭代獲取key/value對並交給map函式處理

Hadoop程式設計模型元件 InputFormat

hadoop中的inputformat介面 inputformat介面主要的任務是對輸入的原始資料進行切分並轉換成格式的資料,它主要完成兩個功能 1.通過getsplite 方法對原始資料進行切分,得到若干個inputsplite,這裡的切分是指邏輯上的切分,即確定每個splite的起始位址和長度而...

hadoop之yarn事件驅動模型

yran程式設計有很多地方採用了事件驅動模型,把 簡化,方便理解它。1.定義乙個事件 import org.apache.hadoop.yarn.event.abstractevent public class taskevent extends abstractevent public strin...

Hadoop程式設計實現之HDFS

hdfs原理圖 下面我們來寫乙個基於hdfs的demo,該demo主要實現的是將hdfs上的乙個檔案內容讀取出來並儲存到另乙個檔案上的功能。1.輔助類 這個類主要是用來獲取hdfs檔案系統連線的 public class hdfsutils param popenuri param puser re...