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

本地python代碼運行參數在磚通過dbx的效用。

sage5616
價值貢獻

我想磚集群上執行一個當地PySpark腳本通過dbx實用程序來測試如何傳遞參數到python在磚在開發當地的工作。然而,我通過的測試參數沒有被讀出於某種原因。有人能幫忙嗎?本指南後,但有點不清楚,缺乏很好的例子。https://dbx.readthedocs.io/en/latest/quickstart.html發現了這個,但也不清楚:我怎麼能比得到傳遞的參數傳遞和磚的工作嗎

磚手冊非常不清楚。

我的PySpark腳本:

導入係統n = len (sys.argv)打印(“總參數傳遞:n)打印(“腳本名”,sys.argv[0])打印(“\ nArguments通過:“結束= " ")範圍(1,n):我的打印(sys。argv[我],結束= " ")

dbx deployment.json:

{“默認”:{“工作”:[{“名稱”:“參數”,“spark_python_task”: {“python_file”:“指標測試。py”},“參數”:[“test-argument-1”、“test-argument-2”]}]}}

dbx執行命令:

dbx執行\——cluster-id = <有所> \——工作=參數\部署文件= conf /部署。json \——no-rebuild \——沒有包

輸出:

(參數)user@735參數% /bin/zsh /用戶/用戶/ g-drive / git /參數/參數。sh (dbx][2022-07-26 10:34:33.864]使用提供從項目概要文件[dbx][2022-07-26 10:34:33.866]發現從提供者ProfileEnvConfigProvider身份驗證配置,驗證[dbx][2022-07-26 10:34:33.866]發現從提供者ProfileEnvConfigProvider身份驗證配置,驗證成功的[dbx][2022-07-26 10:34:33.866]配置文件默認將用於部署[dbx][2022-07-26 10:34:35.897]執行工作:在集群環境的默認參數沒有(id: 0513 - 204842 - 7 - b2r325u) [dbx][2022-07-26 10:34:35.897]沒有重建會完成,請確保包分布在dist文件夾[dbx][2022-07-26 10:34:35.897]使用提供的部署文件conf /部署。json (dbx][2022-07-26 10:34:35.899]準備集群互動接受工作[dbx][2022-07-26 10:34:35.997]集群就緒[dbx][2022-07-26 10:34:35.998]準備執行上下文(dbx)(2022-07-26 10:34:36.534)現有上下文是活躍的,使用它[dbx][2022-07-26 10:34:36.992]要求文件要求。執行後不提供三種,沒有任何附加包[dbx][2022-07-26 10:34:36.992]包是殘疾人通過——沒有包,隻有將使用代碼入口點(dbx)(2022-07-26 10:34:37.161)工藝參數(dbx)(2022-07-26 10:34:37.449)工藝參數——做[dbx][2022-07-26 10:34:37.449]開始入口點文件執行[dbx][2022-07-26 10:34:37.767]命令成功執行總參數傳遞:1 python腳本名參數傳遞:[dbx][2022-07-26 10:34:37.768]命令執行完(參數)user@735參數%

請幫助:slightly_smiling_face:

1接受解決方案

接受的解決方案

謝謝你休伯特。高興地說,這個例子了。我能算出來。

糾正deployment.json:

{“默認”:{“工作”:[{“名稱”:“參數”,“spark_python_task”: {“python_file”:“指標測試。py”、“參數”:[“test1”、“test2”]}}]}}

Python代碼的輸出在最初,上圖:

總參數傳遞:3 python腳本名參數傳遞:test1 test2

出於某種原因,我返回Python腳本的名字是“Python”,但實際的名字是“parameter-test.py”。知道為什麼磚/ DBX的嗎?任何方式獲得實際的腳本的名字從sys.argv[0]嗎?

注:再一次,沒有足夠清楚,例子的工作手冊(隻是一個反饋,把它就其價值而言)。

在原帖子查看解決方案

2回答2

Hubert_Dudek1
尊敬的貢獻者三世

你可以通過參數使用

dbx發射——參數

如果你想定義它在部署模板請盡量遵循完全磚API 2.1模式/ JobsCreate https://docs.m.eheci.com/dev-tools/api/latest/jobs.html操作(例如參數在一個任務,任務數組,兩者都是失蹤在json)

{“默認”:{“工作”:[{“名稱”:“一個多任務的工作”,“任務”:[{“task_key”:“Sessionize”、“描述”:“從事件提取會話數據”,“depends_on”: []“spark_python_task”: {“python_file”:“com.databricks。Sessionize”、“參數”:[”——數據”、“dbfs: / / /數據。json "]}] ....

謝謝你休伯特。高興地說,這個例子了。我能算出來。

糾正deployment.json:

{“默認”:{“工作”:[{“名稱”:“參數”,“spark_python_task”: {“python_file”:“指標測試。py”、“參數”:[“test1”、“test2”]}}]}}

Python代碼的輸出在最初,上圖:

總參數傳遞:3 python腳本名參數傳遞:test1 test2

出於某種原因,我返回Python腳本的名字是“Python”,但實際的名字是“parameter-test.py”。知道為什麼磚/ DBX的嗎?任何方式獲得實際的腳本的名字從sys.argv[0]嗎?

注:再一次,沒有足夠清楚,例子的工作手冊(隻是一個反饋,把它就其價值而言)。

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

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

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

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

Baidu
map