Spark如何解析字符串中的系统属性(没有字符串插值)?

时间:2017-05-20 14:12:20

标签: scala apache-spark apache-spark-sql

我在this blog

中看到了以下代码段
val warehouseLocation = "file:${system:user.dir}/spark-warehouse"
val spark = SparkSession
   .builder()
   .appName("SparkSessionZipsExample")
   .config("spark.sql.warehouse.dir", warehouseLocation)
   .enableHiveSupport()
   .getOrCreate()

如何在warehouseLocation值中替换系统属性user.dir。字符串不应该是s"file:${System.getProperty("user.dir")}/spark-warehouse"吗?

1 个答案:

答案 0 :(得分:5)

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

Spark 中,它已自行实施substitute,并绑定来自envSystem.getEnv),system({{{ 1}})前缀自定义配置System.getProperty