在 Dataform 中建立及執行 SQL 工作流程

本快速入門文件會逐步說明如何在 Dataform 中建立 SQL 工作流程,並在 BigQuery 中執行:

事前準備

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    Enable the APIs

  8. 必要的角色

    如要取得執行本教學課程所有任務所需的權限,請管理員授予您專案的下列身分與存取權管理角色:

    • Dataform 管理員 (roles/dataform.admin) - 存放區
    • Dataform 編輯器 (roles/dataform.editor) - 工作區和工作流程叫用

    如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

    您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

建立 Dataform 存放區

  1. 在 Google Cloud 控制台中,前往「Dataform」頁面。

    前往 Dataform

  2. 按一下 「Create repository」(建立存放區)

  3. 在「建立存放區」頁面中執行下列操作:

    1. 在「Repository ID」(存放區 ID) 欄位中輸入 quickstart-repository

    2. 在「Region」(區域) 清單中選取「europe-west4」。

    3. 按一下 [建立]。

建立並初始化 Dataform 開發工作區

  1. 在 Google Cloud 控制台中,前往「Dataform」頁面。

    前往 Dataform

  2. 按一下「quickstart-repository」。

  3. 按一下 「Create development workspace」

  4. 在「建立開發工作區」視窗中執行下列操作:

    1. 在「Workspace ID」(工作區 ID) 欄位中輸入 quickstart-workspace

    2. 按一下 [建立]。

    開發工作區頁面隨即顯示。

  5. 按一下「Initialize workspace」(初始化工作區)

建立檢視表

在後續章節中,您會定義 view,做為資料表的資料來源。

建立用來定義 view 的 SQLX 檔案

  1. 在「檔案」窗格中,點選 definitions/ 旁的 「更多」選單。

  2. 點選「建立檔案」

  3. 在「建立新檔案」窗格中,執行下列步驟:

    1. 在「Add a file path」(新增檔案路徑) 欄位中,輸入 definitions/quickstart-source.sqlx

    2. 點選「建立檔案」

定義 view

  1. 在「檔案」窗格中,展開「definitions」資料夾。

  2. 按一下「definitions/quickstart-source.sqlx」。

  3. 在檔案中輸入下列程式碼片段:

    config {
     type: "view"
    }
    
    SELECT
     "apples" AS fruit,
     2 AS count
    UNION ALL
    SELECT
     "oranges" AS fruit,
     5 AS count
    UNION ALL
    SELECT
     "pears" AS fruit,
     1 AS count
    UNION ALL
    SELECT
     "bananas" AS fruit,
     0 AS count
    
  4. 按一下「格式」

建立表格

在接下來的各節中,您將在 SQLX 檔案中定義資料表類型,然後編寫 SELECT 陳述式,以便定義同一檔案的資料表結構。

建立 SQLX 檔案來定義資料表

  1. 在「檔案」窗格中,點選 definitions/ 旁的 「更多」選單,然後選取「建立檔案」

  2. 在「新增檔案路徑」欄位中輸入 definitions/quickstart-table.sqlx

  3. 點選「建立檔案」

定義資料表類型、結構與依附元件

  1. 在「檔案」窗格中展開 definitions/ 目錄。

  2. 選取 quickstart-table.sqlx,然後輸入下列資料表類型和 SELECT 陳述式:

    config {
     type: "table"
    }
    
    SELECT
     fruit,
     SUM(count) as count
    FROM ${ref("quickstart-source")}
    GROUP BY 1
    
  3. 按一下「格式」

定義資料表類型後,Dataform 會擲回查詢驗證錯誤,因為 BigQuery 中尚不存在 quickstart-source。稍後在本教學課程中執行 SQL 工作流程時,這項錯誤就會解決。

為 Dataform 授予 BigQuery 存取權

如要使用 Google 帳戶使用者憑證 (預先發布版) 在 BigQuery 中手動執行工作流程,您的 Google 帳戶必須具備下列必要角色:

如要授予這些角色,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往身分與存取權管理頁面

  2. 按一下「新增」。

  3. 在「新增主體」欄位中輸入 Google 帳戶電子郵件地址 (預覽)。

  4. 在「請選擇角色」選單中,選取「BigQuery 工作使用者」角色。

  5. 點選「新增其他角色」,然後在「請選擇角色」選單中,選取「BigQuery 資料編輯者」角色。

  6. 點選「新增其他角色」,然後在「請選擇角色」選單中,選取「BigQuery 資料檢視者」角色。

  7. 按一下 [儲存]

執行工作流程

  1. 在 Google Cloud 控制台中,前往「Dataform」頁面。

    前往 Dataform

  2. quickstart-workspace 頁面上,按一下「Start execution」(開始執行)

  3. 按一下「All actions」(所有動作)

  4. 按一下「Start execution」(開始執行)

  5. 在隨即開啟的對話方塊中,按一下「允許」,授予 BigQuery 管道存取 Google 帳戶的權限。

    Dataform 會使用預設存放區設定,在名為 dataform 的 BigQuery 資料集中建立工作流程的內容。

在 Dataform 中查看執行記錄檔

  1. quickstart-repository 頁面上,按一下「Workflow Execution Logs」(工作流程執行記錄)

  2. 如要查看執行作業的詳細資料,請點選最新的執行作業。

清除所用資源

如要避免系統向您的 Google Cloud 帳戶收取您在本頁所用資源的費用,請按照下列步驟操作。

刪除在 BigQuery 中建立的資料集

如要避免系統依 BigQuery 資產收取費用,請刪除名為 dataform 的資料集。

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」面板中展開專案,然後選取 dataform

  3. 按一下 「Actions」選單,然後選取「Delete」

  4. 在「Delete dataset」(刪除資料集) 對話方塊中,在欄位中輸入 delete,然後按一下「Delete」(刪除)

刪除 Dataform 開發工作區

建立 Dataform 開發工作區不會產生任何費用,但如要刪除開發工作區,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Dataform」頁面。

    前往 Dataform

  2. 按一下「quickstart-repository」。

  3. 在「Development workspaces」分頁,按一下 quickstart-workspace 旁的 「More」選單,然後選取「Delete」

  4. 按一下「Delete」(刪除) 確認操作。

刪除 Dataform 存放區

建立 Dataform 存放區不會產生任何費用,但如要刪除存放區,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Dataform」頁面。

    前往 Dataform

  2. quickstart-repository 旁邊,按一下 「More」(更多) 選單,然後選取「Delete」(刪除)

  3. 在「Delete repository」(刪除存放區) 視窗中,輸入存放區名稱來確認刪除。

  4. 按一下「Delete」(刪除) 確認操作。

後續步驟