共用方式為


在 Lakeflow 作業中使用 Python 滾輪檔案

Python 轉輪檔案 是封裝及散發執行 Python 應用程式所需的檔案的標準方式。 使用 Python 滾輪工作,您可以確保作業中快速且可靠的 Python 程式代碼安裝。 本文提供建立 Python Wheel 的範例,以及執行在 Python Wheel 中封裝之應用程式的作業。 在此範例中,您將會:

  • 建立定義範例應用程式的 Python 檔案。
  • 將範例檔案組合成 Python Wheel 檔案。
  • 建立任務以執行 Python wheel 檔案。
  • 執行作業並檢視結果。

開始之前

若要完成此範例,您需要下列各項:

  • Python3

  • Python wheelsetuptool 套件。 您可以使用 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 Wheel 檔案

將 Python 成品轉換成 Python Wheel 檔案需要指定套件中繼資料,例如套件名稱和進入點。 下列指令碼會定義此中繼資料。

注意

此指令碼中定義的 entry_points 是用來在 Azure Databricks 工作流程中執行套件。 在 entry_points 中的每個值,在 = 之前的值 (在此範例中,run) 是進入點的名稱,用來設定 Python Wheel 工作。

  1. 將此指令碼儲存於您在步驟 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'
      ]
    )
    
  2. 進入您在步驟 1 中建立的目錄,然後執行下列命令,將您的程式碼封裝為 Python Wheel 套件:

    python3 setup.py bdist_wheel
    

此命令會建立 Python Wheel 檔案,並將它儲存至目錄中的 dist/my_test_package-0.0.1-py3.none-any.whl 檔案。

步驟 5. 建立作業以執行 Python 轉輪檔案

  1. 在您的工作區中,點擊[工作流程] 圖示,然後在側邊欄中選擇作業和管線

  2. 點擊 Create,然後點擊 Job

  3. 點擊 Python 滾輪 圖塊來設定第一個任務。 如果 Python 輪 圖磚無法使用,請按一下 新增其他工作類型 並搜尋 Python 輪

  4. 或者,將工作名稱 (預設為 New Job <date-time>) 取代為您的工作名稱。

  5. 在 [ 工作名稱] 中,輸入工作的名稱。

  6. 如有必要,請從「類型」下拉式功能表中選取「Python 滾輪」。

  7. 在 [套件名稱] 中,輸入 my_test_package。 [套件名稱] 值是要匯入的 Python 套件名稱。 在此範例中,套件名稱是指派給 name 中的 setup.py 參數值。

  8. 在 [進入點]中,輸入 run。 進入點是 entry_points 指令碼中 setup.py 集合指定的其中一個值。 在此範例中,run 是唯一定義的進入點。

  9. 在 [計算] 中,選取現有的作業叢集或 [新增作業叢集]

  10. 指定您的 Python 滾輪檔案:

    • 在「環境和資源庫」下拉式清單中,按一下「Pencil icon.Pencil icon.預設」旁邊的「以編輯它。 或者,按一下 新增環境 以設定新環境。
    • [設定環境 ] 對話方塊中,按一下 [新增相依性]。
    • 按一下 資料夾圖示 資料夾圖示以開啟檔案瀏覽器。 將您在步驟 4 中建立的滾輪檔案拖放到 [選取相依性 ] 對話方塊中。
    • 按一下 [確認]
  11. 在 [參數] 中,選取 [位置引數] 或 [關鍵字] 引數,以輸入索引鍵和每個參數的值。 位置引數和關鍵字引數都會以命令列引數的形式傳遞至 Python Wheel 工作。

    • 若要輸入位置引數,請輸入參數做為 JSON 格式的字串陣列,例如:["first argument","first value","second argument","second value"]
    • 若要輸入關鍵字引數,請按下 [+ 新增],然後輸入索引鍵和值。 再次按下 [+ 新增] 以輸入更多引數。
  12. 點擊 建立工作

步驟 6:執行作業並檢視作業執行詳細資料

按兩下 [ 立即執行] 按鈕 以執行工作流程。 若要檢視執行的詳細資料,請按一下 [執行] 索引標籤,然後在工作執行檢視中按一下執行的 [開始時間] 直欄中的連結。

執行完成時,輸出會顯示在 [輸出] 面板中,包括傳遞至工作的引數。

後續步驟

若要深入瞭解如何建立和執行作業,請參閱 Lakeflow 作業