廣播變數
應用場景:在提交作業后,task在執行的程序中,
有一個或多個值需要在計算的程序中多次從Driver端拿取時,此時會必然會發生大量的網路IO,
這時,最好用廣播變數的方式,將Driver端的變數的值事先廣播到每一個Worker端,
以后再計算程序中只需要從本地拿取該值即可,避免網路IO,提高計算效率,
廣播變數在廣播的時候,將Driver端的變數廣播到每一個每一個Worker端,一個Worker端會收到一份僅一份該變數的值
注意:廣播的值必須是一個確切的值,不能廣播RDD(因為RDD是一個資料的描述,沒有拿到確切的值),
如果想要廣播RDD對應的值,需要將該RDD對應的資料獲取到Driver端然后再進行廣播,
廣播的資料是不可改變的,
廣播變數的資料不可太大,如果太大,會在Executor占用大量的快取,相對于計算的時候的快取就少很多,

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/12643.html
標籤:大數據
