千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  應聘面試  >  大數據面試題  > getSplit怎么分片的,分片的大小

getSplit怎么分片的,分片的大小

來源:千鋒教育
發布人:wjy
時間: 2022-09-02 15:41:32 1662104492

1. split是邏輯分片,再mapTask任務開始前,將文件按照指定的大小進行邏輯切分。每一個部分稱之為一個split。

默認情況下,split的大小與block的大小相等。均為128M. 

2. 可以參考FileInputForamt類的getSplits()源碼

1. 會先獲取三個參數的值,minSize,maxSize,blockSize

2. 然后創建一個分片集合用于存儲分片數據

3. 獲取文件的所有塊信息,進行遍歷

4. 得到一個塊的狀態信息,然后判斷是否可以切分

5. 然后根據三個參數獲取分片大小

6. 循環判斷文件剩余部分是否大于切片大小的1.1倍, 

1. 大于的話就調用makeSplit方法創建當前塊的邏輯分片

2. 不大于的話,就將文件剩余的部分創建一個唯一的最后一個分片。

7. 將每一個邏輯分片添加到分片集合中,等待被使用 

3. 分片的大小由minSize,maxSize,blockSize

三個參數決定 算法如下: Math.max(minSize,Math.min(maxSize, blockSize)),其中maxSize是取得longValueMax的值

1. 如果blockSize小于maxSize && blockSize 大于 minSize之間,那么split就是blockSize;

2. 如果blockSize小于maxSize && blockSize小于minSize之間,那么split就是minSize;

3. 如果blockSize大于maxSize && maxSize大于minSize之間,那么split就是maxSize;

4. 如果blockSize大于maxSize && maxSize小于 minSize之間,那么split就是maxSize(不存在這種關系)。

getSplit怎么分片的,分片的大小

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
亚洲欧美另类自拍 | 亚洲欧美自拍制服丝袜另类图 | 中文字幕久热精品 | 亚洲精品国产首次亮相在线 | 日本久久综合久久综合 | 亚洲精品网站在线 |