簡體   English   中英

spark-shell 使用類型安全配置加載 scala 配置

[英]spark-shell load scala config using typesafe config

我正在嘗試使用 typesafe-config 在 spark-shell 中加載application.conf

以下是代碼和 spark-shell 命令:

斯卡拉代碼:

import com.typesafe.config.{Config, ConfigFactory}

val config: Config = ConfigFactory.load("application.conf")
val env = config.getString("key.key1")

spark-shell 命令

  • spark-shell --jars confing-1.3.4.jar --files application.conf --driver-java-options -Dconfig.file=application.conf (嘗試 1)
  • spark-shell --jars confing-1.3.4.jar (attempt 2)

應用程序.conf:

key {

 key1 = "value1"

}

錯誤:

com.typesafe.config.ConfigException$Missing: system properties: No configuration setting found for key 'key'

你的conf文件在哪里? 您是否嘗試使用根目錄的完整路徑? 例如:

val config: Config = ConfigFactory.load("/<root-path>/application.conf")

您可以通過--files "application.conf"將文件傳遞給每個執行--files "application.conf"並使用ConfigFactory.parseFile()作為

您可以使用SparkFiles.get獲取--files傳遞的文件

import com.typesafe.config.ConfigFactory
import java.io.File
import org.apache.spark.SparkFiles

val config = ConfigFactory.parseFile(new File(SparkFiles.get("application.conf")))

這應該加載你想要的配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM