除錯spark原始碼
https://stackoverflow.com/questions/33311794/import-spark-source-code-into-intellj-build-error-not-found-type-sparkflumepr
目標:可以在spark原始碼內打斷點除錯,比如我們可以看flatMap方法內部執行。
環境:
spark 1.4
intellij idea
mac os
第一步:下載spark原始碼
第二步:編譯spark
進入下載好的spark的根目錄執行:
./sbt/sbt gen-idea
注:網上有的文章第二步是直接將專案匯入到intellij中,讓IDE通過SBT去編譯,我再嘗試多次後發現經常在某些包上timeout。我在這一步通過命令來編譯,就可以觀測到哪些依賴包下載不了,手動去下載。再有就是我用了VPN有的包依然下載不了,需要多切換幾個線路試試,這一步耗費數個小時,希望大家的網給力。
第三步:將編譯好的spark專案匯入到intellij中
第四步:編寫測試類除錯spark原始碼
期初我想新建個module然後依賴spark的core module,這樣做後編譯沒錯但是執行報錯,所以當前是在core module中寫測試類了,這個問題留著後面解決。
我改變了log4j.properties 來看下執行結果:
我們給map方法中打斷點來看看:
完
相關文章
- Spark原始碼編譯與匯入IDEA除錯Spark原始碼編譯Idea除錯
- Javac 原始碼除錯教程Java原始碼除錯
- MariaDB原始碼除錯原始碼除錯
- Spark 1.5.0 遠端除錯Spark除錯
- Node.js 原始碼除錯Node.js原始碼除錯
- 怎麼閱讀原始碼【除錯觀察原始碼】原始碼除錯
- samba原始碼安裝及除錯Samba原始碼除錯
- spark學習筆記--Spark調優與除錯Spark筆記除錯
- Spark原始碼-SparkContext原始碼解析Spark原始碼Context
- 如何斷點除錯Tomcat原始碼斷點除錯Tomcat原始碼
- 編譯除錯Net6原始碼編譯除錯原始碼
- Spark 原始碼分析系列Spark原始碼
- Apache Spark原始碼剖析ApacheSpark原始碼
- Mac 下使用 clion 除錯 PHP 核心原始碼Mac除錯PHP原始碼
- RocketMQ系列-搭建Namesrv原始碼除錯環境MQ原始碼除錯
- 【Visual Leak Detector】原始碼除錯 VLD 庫原始碼除錯
- Linux中eclipse除錯mysql原始碼LinuxEclipse除錯MySql原始碼
- 彙編環境下的原始碼除錯原始碼除錯
- IDEA WordCount jar包上傳spark除錯及排錯IdeaJARSpark除錯
- spark核心原始碼深度剖析Spark原始碼
- spark reduceByKey原始碼解析Spark原始碼
- Spark原始碼分析之MemoryManagerSpark原始碼
- Spark原始碼分析之BlockStoreSpark原始碼BloC
- Idea除錯Rocketmq原始碼編譯執行Idea除錯MQ原始碼編譯
- 根據除錯工具看Vue原始碼之watch除錯Vue原始碼
- 【譯】使用 Visual Studio 除錯外部原始碼除錯原始碼
- 【曹工雜談】Maven原始碼除錯工程搭建Maven原始碼除錯
- springmvc-原始碼除錯-3.3-initHandlerAdaptersSpringMVC原始碼除錯APT
- 使用 Chrome 除錯 Vue3 的 TypeScript 原始碼Chrome除錯VueTypeScript原始碼
- 程式設計技巧 --- VS如何除錯.Net原始碼程式設計除錯原始碼
- Node.js原始碼學習(1) 使用cLion除錯node.js原始碼Node.js原始碼除錯
- Spark 原始碼系列(七)Spark on yarn 具體實現Spark原始碼Yarn
- Spark-2.4.0原始碼:sparkContextSpark原始碼Context
- Spark 原始碼解析之SparkContextSpark原始碼Context
- Spark原始碼解析之Shuffle WriterSpark原始碼
- Spark job分配流程原始碼分析Spark原始碼
- Spark原始碼解析之Storage模組Spark原始碼
- 12 Spark Streaming原始碼解讀之Executor容錯安全性Spark原始碼