2017-05-20 57 views
1

我看到下面的代碼片段中this blogSpark如何解析字符串中的系統屬性(無字符串插值)?

val warehouseLocation = "file:${system:user.dir}/spark-warehouse" 
val spark = SparkSession 
    .builder() 
    .appName("SparkSessionZipsExample") 
    .config("spark.sql.warehouse.dir", warehouseLocation) 
    .enableHiveSupport() 
    .getOrCreate() 

系統如何屬性user.dir在warehouseLocation值被替換。不應該是s"file:${System.getProperty("user.dir")}/spark-warehouse"

回答

5

是,file:${system:user.dir}/spark-warehouse等於s"file:${System.getProperty("user.dir")}/spark-warehouse"

火花,它已通過本身實現substitute,並結合從envSystem.getEnv),systemSystem.getProperty前綴讀取配置定製配置provider