sparkenv在兩個地方會被建立, 由于sparkenv中包含了很多重要的子產品, 比如blockmanager, 是以sparkenv很重要
driver端, 在sparkcontext初始化的時候, sparkenv會被建立
executor端, 在executor初始化時被建立
用于hold所有spark運作時的環境對象, serializer, akka actor system, block manager, and map output tracker等
scala使用伴生object當作類接口
除了基本的get和set
就是在createfromsystemproperties中建立了一堆很關鍵的對象