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

如何配置使用PEX PySpark工作

r-g-s-j
新的因素

問題

我試圖創建一個PySpark工作通過磚UI (spark-submit)使用下麵的參數(依賴關係在PEX文件),但我得到了一個例外,PEX文件不存在。這是我的理解——文件選項將文件驅動程序的工作目錄和每一個執行者,所以我困惑為什麼我遇到這個問題。

配置

["——文件”、“s3: / / some_path / my_pex。pex”、“配置”、“——spark.pyspark.python =。/ my_pex。pex”、“s3: / / some_path /主要。py”、“——some_arg”、“2022-08-01”)

標準錯誤

OpenJDK 64位服務器虛擬機警告:忽略選擇MaxPermSize = 512;支持在8.0被警告:忽略non-Spark配置屬性:libraryDownload。sleepIntervalSeconds警告:忽略non-Spark配置屬性:libraryDownload。timeoutSeconds警告:忽略non-Spark配置屬性:事件日誌。在java線程“主要”rolloverIntervalSeconds例外。IOException:不能運行程序”。/ my_pex。pex”:錯誤= 2,沒有這樣的文件或目錄在java.lang.ProcessBuilder.start (ProcessBuilder.java: 1048)美元org.apache.spark.deploy.PythonRunner .main (PythonRunner.scala: 97) org.apache.spark.deploy.PythonRunner.main sun.reflect.NativeMethodAccessorImpl (PythonRunner.scala)。在voke0(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:951) at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:180) at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:203) at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:90) at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1039) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1048) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) Caused by: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.(UNIXProcess.java:247) at java.lang.ProcessImpl.start(ProcessImpl.java:134) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ... 14 more

我已經嚐試

鑒於PEX文件似乎並不明顯,我已經嚐試通過添加通過以下方式:

  • 添加PEX通過火花提交——文件選項
  • 添加PEX通過火花。文件配置時啟動實際的集群
  • 進行配置(例如使用spark.pyspark.driver。python代替spark.pyspark.python)

注意:鑒於說明這個頁麵的底部,我相信PEX應該做磚;我隻是不確定,正確的配置://www.eheci.com/blog/2020/12/22/how-to-manage-python-dependencies-in-pyspark.html

還請注意,下麵的火花提交命令AWS EMR工作:

“HadoopJarStep”:{“罐子”:“command-runner。jar”、“參數”(“spark-submit”,“——deploy-mode”,“集群”,“——主”,“紗”,”——文件”,“s3: / / some_path / my_pex。pex”、“配置”、“——spark.pyspark.driver.python =。/ my_pex。pex”、“配置”、“——spark.executorEnv.PEX_ROOT =。/ tmp”、“配置”、“——spark.yarn.appMasterEnv.PEX_ROOT =。/ tmp”、“s3: / / some_path /主要。py”、“——some_arg”、“some-val”),

任何幫助將非常感激,謝謝。

1回複1

弗蘭克
新的貢獻者二世

你好,

我麵臨著同樣的問題在執行pyspark spark-submit的工作。

我有了相同的解決方案:

  • ——文件選項
  • spark.pyspark.driver.python
  • spark.executorEnv.PEX_ROOT

你在問題的解決取得一些進展嗎?

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

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

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

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

Baidu
map