在 Azure Databricks 作業中使用 Python 轉輪檔案
Python 轉輪檔案 是封裝及散發執行 Python 應用程式所需的檔案的標準方式。 使用 Python 滾輪工作,您可以確保 Azure Databricks 作業中快速且可靠的 Python 程式代碼安裝。 本文提供建立 Python 轉輪檔案的範例,以及執行封裝在 Python 轉輪檔案中的應用程式的工作。 在這裡範例中,您將:
- 建立定義範例應用程式的 Python 檔案。
- 將範例檔案組合成 Python 滾輪檔案。
- 建立作業以執行 Python 滾輪檔案。
- 執行作業並檢視結果。
開始之前
您需要下列專案才能完成此範例:
Python3
Python
wheel
和setuptool
套件。 您可以使用pip
來安裝這些套件。 例如,您可以執行下列命令來安裝這些套件:pip install wheel setuptools
步驟 1:建立範例的本機目錄
建立本機目錄以儲存範例程式代碼和產生的成品,例如 databricks_wheel_test
。
步驟 2:建立範例 Python 腳本
下列 Python 範例是一個簡單的腳本,可讀取輸入自變數並列印出這些自變數。 複製此腳本,並將它儲存至您在上一個步驟中建立的目錄中名為 my_test_code/__main__.py
的路徑。
"""
The entry point of the Python Wheel
"""
import sys
def main():
# This method will print the provided arguments
print('Hello from my func')
print('Got arguments:')
print(sys.argv)
if __name__ == '__main__':
main()
步驟 3:建立封裝的元數據檔案
下列檔案包含描述封裝的元數據。 將此儲存至您在步驟 1 中建立的目錄中所呼叫 my_test_code/__init__.py
的路徑。
__version__ = "0.0.1"
__author__ = "Databricks"
步驟 4:建立 Python 轉輪檔案
將 Python 成品轉換成 Python 轉輪檔案需要指定套件元數據,例如套件名稱和進入點。 下列文本會定義此元數據。
注意
entry_points
此腳本中定義的 是用來在 Azure Databricks 工作流程中執行套件。 在中的每個值中 entry_points
,之前 =
的值 (在此範例中, run
) 是進入點的名稱,用來設定 Python 滾輪工作。
將此文稿儲存在您在步驟 1 中建立目錄根目錄中名為
setup.py
的檔案中:from setuptools import setup, find_packages import my_test_code setup( name='my_test_package', version=my_test_code.__version__, author=my_test_code.__author__, url='https://databricks.com', author_email='john.doe@databricks.com', description='my test wheel', packages=find_packages(include=['my_test_code']), entry_points={ 'group_1': 'run=my_test_code.__main__:main' }, install_requires=[ 'setuptools' ] )
變更至您在步驟 1 中建立的目錄,然後執行下列命令,將您的程式代碼封裝至 Python 轉輪散發:
python3 setup.py bdist_wheel
此命令會建立 Python 轉輪檔案,並將它儲存至目錄中的 dist/my_test_package-0.0.1-py3.none-any.whl
檔案。
步驟 5. 建立 Azure Databricks 作業以執行 Python 轉輪檔案
- 移至您的 Azure Databricks 登陸頁面,並執行下列其中一項:
- 在提要欄位中,按兩下 [工作流程],然後按下 。
- 在提要欄位中,按兩下 [新增 ],然後從功能表中選取 [作業 ]。
- 在 [工作] 索引標籤上出現的 [工作] 對話框中,以您的作業名稱取代 [新增工作名稱...],例如 。
Python wheel example
。 - 在 [ 工作名稱] 中,輸入工作的名稱,例如
python_wheel_task
。 - 在 [ 類型] 中,選取 [Python Wheel]。
- 在 [套件名稱] 中,輸入
my_test_package
。 封裝名稱是指派給name
腳本中setup.py
變數的值。 - 在 進入點中,輸入
run
。 進入點是腳本中集合setup.py
中指定的entry_points
其中一個值。 在此範例中,run
是唯一定義的進入點。 - 在 [ 叢集] 中,選取兼容的叢集。 請參閱 叢集範圍的連結庫。
- 按兩下 [相依連結庫] 底下的 [新增]。 在 [ 新增相依連結庫 ] 對話框中,選取 [工作區 ],將步驟 4 中建立的檔案拖曳
my_test_package-0.0.1-py3-none-any.whl
到對話框的 [卸除檔案] 區域。 - 按一下新增。
- 在 [參數] 中,選取 [位置自變數] 或 [關鍵詞] 自變數,以輸入索引鍵和每個參數的值。 位置自變數和關鍵詞自變數都會以命令行自變數的形式傳遞至 Python 滾輪工作。
- 若要輸入位置自變數,請輸入參數做為 JSON 格式的字串陣列,例如:
["first argument","first value","second argument","second value"]
。 - 若要輸入關鍵詞自變數,請按兩下 [+ 新增 ],然後輸入索引鍵和值。 再次按下 [+ 新增 ] 以輸入更多自變數。
- 若要輸入位置自變數,請輸入參數做為 JSON 格式的字串陣列,例如:
- 按兩下 [ 儲存工作]。
步驟 6:執行作業並檢視作業執行詳細數據
按兩下 即可執行工作流程。 若要檢視執行的詳細數據,請按兩下 [觸發的執行] 彈出視窗中的 [檢視執行],或按下作業執行檢視中執行之 [開始時間] 資料行中的連結。
執行完成時,輸出會顯示在 [輸出 ] 面板中,包括傳遞至工作的自變數。
後續步驟
若要深入瞭解如何建立和執行 Azure Databricks 作業,請參閱 建立和執行 Azure Databricks 作業。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應