1,spark應用程式會在乙個物理節點上有驅動程式(driver)
2,驅動程式(driver)會分發每個tasks到worker節點
3,worker節點就會返回result到dirver節點
1,分布式檔案系統(file system)--載入資料集(rdd)
2,transformations延遲執行--針對rdd的操作
3,action觸發執行
1,lines = sc.textfile(「hdfs://...」)
載入進來成為rdd
2,errors = lines.filter(_.startswith(「error」))
transformation轉換
3,errors.persist()
快取rdd
4,mysql_errors = errors.filter(_.contain(「mysql」)).count
action執行
action執行
由上面的**可以看出
1和2是transformation操作,
4是action操作就會觸發job,
如果不做3的快取那一步,5就會找不到errors這個rdd
程式及其執行時記憶體分配解析
乙個c c 程式占用的記憶體可分為以下5種 2.堆區 一般由程式設計師分配和釋放,此堆和資料結構堆完全是兩回事,此堆的分配釋放方式類似於鍊錶。執行時操作。3.全域性 靜態區 全域性變數和靜態變數存放於此。而初始化和非初始化的全域性 靜態變數又放在不同的兩塊。程式結束由系統釋放。4.文字常量區 常量字...
spark以standalone執行時的日誌清理
spark執行任務的日誌一直沒太大關注,原因是硬碟資源充足,除非任務出錯時才去看一下,但沒有清理這些日誌的習慣。直到最近遇到的乙個問題是,硬碟資源嚴重缺乏,不得不需要定時去清理日誌。第一時間去看下spark本身的配置,是否支援定時清理日誌的選項,畢竟spark那麼成熟,相信很多人都面臨過這樣的問題。...
spark以standalone執行時的日誌清理
spark執行任務的日誌一直沒太大關注,原因是硬碟資源充足,除非任務出錯時才去看一下,但沒有清理這些日誌的習慣。直到最近遇到的乙個問題是,硬碟資源嚴重缺乏,不得不需要定時去清理日誌。第一時間去看下spark本身的配置,是否支援定時清理日誌的選項,畢竟spark那麼成熟,相信很多人都面臨過這樣的問題。...