分享方式:


透過 Azure Databricks 作業建立您的第一個工作流程

本文示範 Azure Databricks 作業,可協調工作來讀取及處理範例資料集。 在本快速入門中,您將:

  1. 建立新的筆記本並新增程式碼,以依年份擷取包含熱門嬰兒名稱的範例資料集。
  2. 將範例資料集儲存至 Unity 目錄。
  3. 建立新的筆記本,並新增程式碼以從 Unity 目錄讀取資料集、依年份篩選,以及顯示結果。
  4. 建立新的作業,並使用筆記本設定兩項工作。
  5. 執行作業並檢視結果。

需求

如果您的工作區已啟用 Unity 目錄,且已啟用無伺服器作業,則作業預設會在無伺服器計算上執行。 您不需要叢集建立權限,即可使用無伺服器計算來執行作業。

否則,您必須擁有叢集建立權限,才能建立作業計算或所有用途計算資源的權限

您必須在 Unity 目錄中有磁碟區。 本文會在名為 main 的目錄中,於名為 my-volume 的結構描述中,使用名為 default 的磁碟區。 而且,您必須在 Unity 目錄中具有下列權限:

  • 適用於 my-volume 磁碟區的 READ VOLUMEWRITE VOLUMEALL PRIVILEGES
  • default 結構描述的 USE SCHEMAALL PRIVILEGES
  • main 目錄的 USE CATALOGALL PRIVILEGES

若要設定這些權限,請參閱 Databricks 系統管理員或 Unity 目錄權限和安全物件

建立筆記本

擷取和儲存資料

若要建立筆記本以擷取範例資料集,並將它儲存至 Unity 目錄:

  1. 移至您的 Azure Databricks 登陸頁面,按下側邊欄中的 新增圖示 [新增],然後從功能表中選取 [筆記本]。 Databricks 會在預設資料夾中建立並開啟新的空白筆記本。 預設語言是您最近使用的語言,而且筆記本會自動附加至您最近使用的計算資源。

  2. 如有必要,請將預設語言變更為 Python

  3. 將下列 Python 程式碼複製並貼到筆記本的第一個儲存格中。

    import requests
    
    response = requests.get('https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv')
    csvfile = response.content.decode('utf-8')
    dbutils.fs.put("/Volumes/main/default/my-volume/babynames.csv", csvfile, True)
    

讀取和顯示篩選的資料

若要建立筆記本來讀取和呈現要篩選的資料:

  1. 移至您的 Azure Databricks 登陸頁面,按下側邊欄中的 新增圖示 [新增],然後從功能表中選取 [筆記本]。 Databricks 會在預設資料夾中建立並開啟新的空白筆記本。 預設語言是您最近使用的語言,而且筆記本會自動附加至您最近使用的計算資源。

  2. 如有必要,請將預設語言變更為 Python

  3. 將下列 Python 程式碼複製並貼到筆記本的第一個儲存格中。

    babynames = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my-volume/babynames.csv")
    babynames.createOrReplaceTempView("babynames_table")
    years = spark.sql("select distinct(Year) from babynames_table").toPandas()['Year'].tolist()
    years.sort()
    dbutils.widgets.dropdown("year", "2014", [str(x) for x in years])
    display(babynames.filter(babynames.Year == dbutils.widgets.get("year")))
    

建立作業

  1. 按一下側邊欄中的 工作流程圖示 [工作流程]

  2. 按一下 [建立作業] 按鈕

    [工作] 索引標籤隨即出現,其中包含 [建立工作] 對話方塊。

    建立第一個工作對話方塊

  3. 將 [新增作業名稱...] 取代為您的作業名稱。

  4. 在 [任務名稱] 欄位中,輸入任務的名稱,例如 retrieve-baby-names

  5. 在 [類型] 下拉式功能表中,選取 [筆記本]

  6. 使用檔案瀏覽器來尋找您建立的筆記本,按一下筆記本名稱,然後按一下 [確認]

  7. 按一下 [建立工作]

  8. 按下 [新增工作] 按鈕 您剛才建立的工作下方以新增另一個工作。

  9. 在 [任務名稱] 欄位中,輸入任務的名稱,例如 filter-baby-names

  10. 在 [類型] 下拉式功能表中,選取 [筆記本]

  11. 使用檔案瀏覽器來尋找您建立的第二個筆記本,按下筆記本名稱,然後按下 [確認]

  12. 按一下 [參數] 底下的 [新增]。 在 [金鑰] 欄位中,輸入 year。 在 [值] 欄位中輸入 2014

  13. 按一下 [建立工作]

執行作業

若要立即執行作業,請按下右上角的 [立即執行] 按鈕。 您也可以按下 [執行] 索引標籤,然後按下 [作用中執行] 資料表中的 [立即執行] 來執行作業。

檢視執行詳細資料

  1. 按下 [執行] 索引標籤,然後按下 [作用中執行] 資料表或 [已完成執行] (過去 60 天)] 資料表的執行連結。

  2. 按下任一工作以查看輸出和詳細資料。 例如,按下 filter-baby-names 工作以檢視輸出並執行篩選工作的詳細資料:

    檢視篩選名稱結果

使用不同參數執行

若要重新執行作業,並篩選不同年份的嬰兒名稱:

  1. 按下 [立即執行]藍色向下插入點 旁的 ,然後選取 [以不同參數立即執行],或在 [作用中執行] 資料表中,按下 [使用不同參數立即執行]
  2. 在 [值] 欄位中輸入 2015
  3. 按一下 [執行]