取消
顯示的結果
而不是尋找
你的意思是:

通過應用程序。conf文件到磚的工作

source2sea
新的貢獻者三世

我複製我的問題從一個非常古老的問題/ post工具包。並決定把它移到這裏:

背景:

  • 我有jar (scala),使用scala pureconfig(包裝器類型安全配置)
  • 上傳應用程序。配置文件的路徑是安裝在工作區。
  • 我已經通過筆記本測試jar邏輯(作品)
  • 搬到兒童的方法(這種情況下,氣流提交api調用;使用spark_submit_task或spark_jar_task)都有failrues。請參閱下麵的詳細信息。

我試著用以下/ dbfs / mnt /等等路徑或dbfs: / mnt /路徑

在這兩種spark_submit_taskspark_jar_task(通過java集群spark_conf optinos);沒有成功。

spark.driver.extraJavaOptions

注意:測試通過筆記本使用extraJavaOptions沒有問題。(但我們注意到,在筆記本上,

下麵的命令將不會成功,除非我們試圖ls父文件夾1×1放在第一位。

ls / dbfs / mnt / glue-artifacts conf-staging-env /應用程序。參看貓/ dbfs / mnt / glue-artifacts / conf-staging-env / application.conf

看下麵代碼片段,氣流使用;

spark_submit_task = {

“參數”:【

”——階級”,“com.source2sea.glue.GlueMain”,

”——配置”,f“spark.driver.extraJavaOptions = {java_option_d_config_file}”,

”——文件”conf_path,

jar_full_path,我的能力範圍

]

}

在scala代碼我下麵這樣的代碼(使用pureConfig typeSafeConfig的包裝,確保這樣做:https://pureconfig.github.io/docs/faq.html——如何-我-使用- pureconfig火花- 210 -問題-形狀……),

val源= defaultOverrides.withFallback (defaultApplication) .withFallback (defaultReference) def閱讀(來源:ConfigObjectSource):要麼[Throwable, AppConfig] ={隱def提示[A] = ProductHint[一](ConfigFieldMapping (CamelCase CamelCase)) logger.debug (s“加載配置$ {source.config ()}”) val原始:[ConfigReaderFailures, AppConfig] =來源。負載(AppConfig) logger.info (s”加載和鑄型配置${原始}")original.leftMap (Throwable) (ConfigReaderException.apply)}

錯誤日誌

美元23/04/25 13:45:49信息AppConfig:加載和配置左打的(ConfigReaderFailures (ThrowableFailure (shaded.com.typesafe.config.ConfigException IO:美元dbfs: / mnt / glue-artifacts / conf-staging-env /應用程序。相依:io。FileNotFoundException: dbfs: / mnt / glue-artifacts / conf-staging-env /應用程序。conf(沒有這樣的文件或目錄),一些(ConfigOrigin (dbfs: / mnt / glue-artifacts / conf-staging-env / application.conf))))) 23/04/25 13:45:49錯誤GlueMain $:膠水pureconfig.error失敗。美元scala.runtime.Nothing ConfigReaderException:不能轉換配置。失敗:- (dbfs: / mnt / glue-artifacts / conf-staging-env / application.conf) dbfs: / mnt / glue-artifacts / conf-staging-env /應用程序。相依:io。FileNotFoundException: dbfs: / mnt / glue-artifacts / conf-staging-env /應用程序。conf(沒有這樣的文件或目錄)。美元或23/04/25 12:46:10信息AppConfig:加載和配置左打的(ConfigReaderFailures (ThrowableFailure (shaded.com.typesafe.config.ConfigException IO:美元/ dbfs / mnt / glue-artifacts conf-staging-env /應用程序。相依:io。FileNotFoundException: / dbfs / mnt / glue-artifacts / conf-staging-env /應用程序。conf(沒有這樣的文件或目錄),一些(ConfigOrigin (/ dbfs / mnt / glue-artifacts / conf-staging-env / application.conf))))) 23/04/25 12:46:10錯誤GlueMain $:膠水pureconfig.error失敗。美元scala.runtime.Nothing ConfigReaderException:不能轉換配置。失敗:- (/ dbfs / mnt / glue-artifacts / conf-staging-env / application.conf) / dbfs / mnt / glue-artifacts conf-staging-env /應用程序。相依:io。FileNotFoundException: / dbfs / mnt / glue-artifacts / conf-staging-env /應用程序。conf(沒有這樣的文件或目錄)。 at com.source2sea.glue.config.AppConfig$.$anonfun$read$2(AppConfig.scala:31)

請幫助回答如何得到這個工作;

2回答2

werners1
尊敬的貢獻者三世

與spark-submit我還沒試過,但我在筆記本使用Filestore。

val fileConfig = ConfigFactory.parseFile (

新文件(“/ dbfs / FileStore / NotebookConfig / app.conf”))

(這是類型安全)

你也可以添加配置文件的內部資源和打包的jar。

當然隻有有趣的如果不改變配置文件很多,否則你將需要建立新的罐子每變化。

source2sea
新的貢獻者三世

我們不得不把會議的根文件夾安裝路徑,和工作。

也許掛載的存儲賬戶作為blob代替adls2導致的問題。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map