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

通過類型安全配置文件火花提交工作

Praveen
新的貢獻者二世

大家好!

我試圖通過類型安全火花提交任務配置文件和打印信息的配置文件。

代碼:

進口org.slf4j。{記錄器,LoggerFactory} com.typesafe.config進口。{配置,ConfigFactory} org.apache.spark.sql進口。SparkSession對象引導延伸MyLogging {val火花:SparkSession = SparkSession.builder.enableHiveSupport () .getOrCreate () val配置:配置= ConfigFactory.load (application.conf) def主要(args:數組[String]):單位= {val url:字符串= config.getString (db.url) val用戶:字符串= config.getString (db.user) println (url) println(用戶)}}

應用程序。配置文件:

db {url = " jdbc: postgresql: / / localhost: 5432 /測試”用戶=“測試”}

我已經上傳文件到dbfs和使用路徑來創建工作。

json:火花提交工作

{" new_cluster ": {“spark_version”:“6.4.x-esr-scala2.11”、“azure_attributes”:{“可用性”:“ON_DEMAND_AZURE”、“first_on_demand”: 1、“spot_bid_max_price”: 1},“node_type_id”:“Standard_DS3_v2”、“enable_elastic_disk”:真的,“num_workers”: 1},“spark_submit_task”:{“參數”:[”——階級”,“引導”,“——相依”,“spark.driver。extraClassPath = dbfs: / tmp /”、“——conf”、“spark.executor。extraClassPath = dbfs: / tmp /”、“文件”、“dbfs: / tmp /應用程序。配置”、“dbfs: / tmp / code-assembly-0.1.0。jar”)}, "email_notifications": {}, "name": "application-conf-test", "max_concurrent_runs": 1 }

我上麵已經使用json創建火花提交作業並試圖運行spark-submit工作使用datbricks CLI命令。

錯誤:

異常的線程com.typesafe.config“主要”。配置Exception$Missing: No configuration setting found for key 'db' at com.typesafe.config.impl.SimpleConfig.findKey(SimpleConfig.java:124) at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:147) at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:159) at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:164) at com.typesafe.config.impl.SimpleConfig.getString(SimpleConfig.java:206) at Bootstrap$.main(Test.scala:16) at Bootstrap.main(Test.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52) at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:845) at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:161) at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:184) at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:86) at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:920) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:929)

我可以看到在文件日誌,但下麵行不加載。

SparkContext 21/09/22 07:21:43信息:添加文件dbfs: / tmp /應用程序。參看dbfs: / tmp /應用程序。配置時間戳1632295303654 21/09/22 07:21:43信息跑龍套:抓取dbfs: / tmp /應用程序。conf / local_disk0 /火花- 20456 b30 fddd - 42 d7 - 9 - b23 9 e4c0d3c91cd / userfiles ee199161 - 6 - f48 4 c47 b1c7 - 763 ce7c0895f / fetchFileTemp4713981355306806616.tmp

請幫我在這類型安全配置文件傳遞給spark-submit工作使用適當的火花提交的工作參數。

10個回答10

Praveen
新的貢獻者二世

嗨@Jose岡薩雷斯,

謝謝你的回複,是的,我已經通過所有的文檔和步驟關於spark-submit任務和我上麵的問題是更多關於spark-submit通過配置文件的任務。

請重新審視上述步驟,讓我知道幫助,如果不是我們會寫更多的細節關於我們想做什麼,你可以告訴是否可以在磚。

嗨@Praveen Kumar巴楚

錯誤顯示工作是無法閱讀您的配置。這意味著通過配置的唯一方法就是通過提交參數。

Praveen
新的貢獻者二世

嗨@Jose岡薩雷斯,

請參閱以下spark-submit json和幾個例子我們已經嚐試與火花提交參數

spark-submit json:

{" new_cluster ": {“spark_version”:“6.4.x-esr-scala2.11”、“azure_attributes”:{“可用性”:“ON_DEMAND_AZURE”、“first_on_demand”: 1、“spot_bid_max_price”: 1},“node_type_id”:“Standard_DS3_v2”、“enable_elastic_disk”:真的,“num_workers”: 1},“spark_submit_task”:{“參數”:[”——階級”,“引導”,“——相依”,“spark.driver。extraClassPath = dbfs: / tmp /”、“——conf”、“spark.executor。extraClassPath = dbfs: / tmp /”、“文件”、“dbfs: / tmp /應用程序。配置”、“dbfs: / tmp / code-assembly-0.1.0。jar”)}, "email_notifications": {}, "name": "application-conf-test", "max_concurrent_runs": 1 }

我們已經嚐試以下spark_submit_task參數在上麵的json

["——階級”,“引導”,“——相依”,“spark.driver.extraClassPath = / tmp /應用程序。conf”、“——”、“文件dbfs: / tmp /應用程序。配置”、“dbfs: / tmp / code-assembly-0.1.0。jar”)

["——階級”,“引導”,“——相依”,“spark.driver。extraClassPath = / tmp /”、“——conf”、“spark.executor。extraClassPath = / tmp /”、“文件”、“dbfs: / tmp /應用程序。配置”、“dbfs: / tmp / code-assembly-0.1.0。jar”)

["——階級”,“引導”,“——相依”,“spark.driver.extraClassPath = dbfs: / tmp /應用程序。conf”、“——相依”、“spark.executor.extraClassPath = dbfs: / tmp /應用程序。conf”、“——”、“文件dbfs: / tmp /應用程序。配置”、“dbfs: / tmp / code-assembly-0.1.0。jar”)
["——階級”,“引導”,“——相依”,“spark.driver。extraClassPath = dbfs: / tmp /”、“——conf”、“spark.executor。extraClassPath = dbfs: / tmp /”、“文件”、“dbfs: / tmp /應用程序。配置”、“dbfs: / tmp / code-assembly-0.1.0。jar”)

["——階級”,“引導”,“——相依”,“spark.driver.extraClassPath = dbfs:。配置”、“/”、“——spark.executor.extraClassPath = dbfs:。/”、“文件”、“dbfs: / tmp /應用程序。配置”、“dbfs: / tmp / code-assembly-0.1.0。jar”)
["——階級”,“引導”,“——driver-java-options”,“-Dconfig.file =應用程序。conf”、“——相依”、“spark.executor.extraJavaOptions = -Dconfig.file =應用程序。conf”、“——”、“文件dbfs: / tmp /應用程序。配置”、“dbfs: / tmp / code-assembly-0.1.0。jar”)
["——階級”,“引導”,“——相依”,“spark.driver.extraJavaOptions = -Dconfig.file =應用程序。conf”、“——相依”、“spark.executor.extraJavaOptions = -Dconfig.file =應用程序。conf”、“——”、“文件dbfs: / tmp /應用程序。配置”、“dbfs: / tmp / code-assembly-0.1.0。jar”)

所有上麵的spark_submit_task參數,我們麵臨著同樣的低於指定的錯誤。

異常的線程com.typesafe.config“主要”。配置Exception$Missing: No configuration setting found for key 'db' at com.typesafe.config.impl.SimpleConfig.findKey(SimpleConfig.java:124) at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:147) at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:159) at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:164) at com.typesafe.config.impl.SimpleConfig.getString(SimpleConfig.java:206) at Bootstrap.main(Test.scala:16) at Bootstrap.main(Test.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52) at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:845) at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:161) at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:184) at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:86) at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:920) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:929)

請您能迅速幫助我們需要這個實現

主要代碼在你什麼?

User16763506477
貢獻者三世

嗨@Praveen Kumar巴楚請你試一試下麵的方法嗎?我如果這對你有用。

導入java。文件import org.apache.spark.SparkFiles //use parseFile instead of load val config: Config = ConfigFactory.parseFile( new File(SparkFiles.get("application.conf")))

注意:您將需要通過文件使用,文件

”——文件”、“dbfs: / tmp / application.conf”,

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

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

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

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

Baidu
map