Spark 源碼閱讀學習(一)

寫本文的目標就是立下 flag :好好研讀 Spark 源碼,從 branch-0.7 這個分支開始。

如何通過閱讀源碼提高自己

  • 大家都說要多讀優秀開源框架的源碼,那麼怎麼讀呢?像 Apache Spark 在 GitHub 上有兩萬多個 commit,將源碼導入 IDEA 之後好多好多源碼文件,看着很絕望。
  • 後來我去看知乎上的如何去閱讀並學習一些優秀的開源框架的源碼?,很多優秀的回答核心思想都是說要看開源框架早期的代碼。其中有個回答是這樣說的:從第一個commit讀起來,而不是最後一個。 真的是一語中的。

選擇 Spark 的早期版本進行閱讀

  • 自從學習了從項目早期代碼讀起來後,我下意識以爲越早期的越好,就去 GitHub 上看分支號。最早期的分支是 branch-0.5,也就是版本號爲 0.5 的代碼;然後就下載下來看了一下。嗯,我不是通過切分支看的,而是通過下載zip包。只有 800 多個 commit ,代碼好少,真應了那句:“偉大的項目不是一開始就很偉大,而是越來越偉大”。但是有個非常大的問題,0.5 版本的代碼沒有 maven 管理依賴,同時代碼之間的依賴也不能方便跳轉(也有可能是在下的打開姿勢不對)。
  • 然後爲了找個更加方便閱讀的,就去查了一下哪個版本開始有 maven 管理依賴,是 0.7 開始。於是從現在開始認真研讀 0.7 的代碼。(flag 已立)

Spark 的第一個 commit

  • 既然有人說要從第一個 commit 開始讀起來,那 Spark 的第一個 commit 是什麼呢?同時怎麼才能從 GitHub 上翻到第一個 commit。
  • 在SF上有個提問:如何快速查看github上的第一次commit。然後我就根據指點成功翻到了 Spark 的第一個 commit。
https://github.com/apache/spark/commit/df29d0ea4c8b7137fdd1844219c7d489e3b0d9c9

結束語

這是一個開始!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章