設定其他動作

本文將說明如何執行下列操作:

事前準備

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

    前往 Dataform

  2. 選取或建立存放區

  3. 選取或建立開發工作區

  4. 建立資料表

  5. 定義下列任一類型的 SQLX 檔案:

必要的角色

如要取得完成本文工作所需的權限,請要求管理員為您授予工作區的 Dataform 編輯者 (roles/dataform.editor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

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

定義要在建立資料表前執行的 SQL 陳述式

您可以設定 Dataform,在 BigQuery 中建立所選資料表之前,先執行一或多個 SQL 陳述式。如要在 Dataform 建立所選資料表之前執行 SQL 陳述式,請將陳述式新增至資料表定義 SQLX 檔案的 pre_operations 區塊。

如要建立自訂 SQL 陳述式,在 Dataform 建立特定資料表前執行,請按照下列步驟操作:

  1. 前往開發工作區。
  2. 在「檔案」窗格中,展開 definitions/
  3. 開啟 SQLX 資料表定義檔。
  4. config 區塊外,輸入 pre_operations { ... }
  5. pre_operations { ... } 內加入 SQL 陳述式。
  6. 選用:如要新增多個陳述式,請以 --- 分隔。
  7. 選用:按一下「格式」

下列程式碼範例顯示 pre_operations 陳述式,該陳述式會建立可在 select 陳述式中使用的暫時函式:

pre_operations {
  CREATE TEMP FUNCTION AddFourAndDivide(x INT64, y INT64)
    RETURNS FLOAT64
    AS ((x + 4) / y);
}

定義要在建立資料表後執行的 SQL 陳述式

您可以設定 Dataform,在 BigQuery 中建立所選資料表後,執行一或多個 SQL 陳述式。如要在 Dataform 建立所選資料表後執行 SQL 陳述式,請將陳述式新增至資料表定義 SQLX 檔案的 post_operations 區塊。您可以在 post_operations 區塊中新增多個 SQL 陳述式。

如要建立自訂 SQL 陳述式,在 Dataform 建立特定資料表後執行,請按照下列步驟操作:

  1. 前往開發工作區。
  2. 在「檔案」窗格中,展開 definitions/
  3. 開啟 SQLX 資料表定義檔。
  4. config 區塊外,輸入 post_operations { ... }
  5. post_operations { ... } 內加入 SQL 陳述式。
  6. 選用:按一下「格式」

下列程式碼範例顯示 post_operations 陳述式,可授予群組存取所建立資料表的權限:

  post_operations {
    GRANT `roles/bigquery.dataViewer`
    ON
    TABLE ${self()}
    TO "group:allusers@example.com", "user:otheruser@example.com"
  }

停用資料表建立功能

如要停止讓 Dataform 在 BigQuery 中建立所選資料表,可以在 SQLX 資料表定義檔案中停用該資料表。Dataform 會將已停用的資料表保留在依附元件圖表中,但不會編譯及建立該資料表。舉例來說,如果資料表發生錯誤,但您不想在修正問題時導致整個工作流程失敗,這項功能就非常實用。

如要停用資料表,請按照下列步驟操作:

  1. 前往開發工作區。
  2. 在「檔案」窗格中,展開 definitions/
  3. 選取 SQLX 資料表定義檔。
  4. 在檔案的 config 區塊中,輸入 disabled: true
  5. 選用:按一下「格式」

下列程式碼範例顯示已停用的表格:

config {
  type: "table",
  disabled: true
}

select * from ${ref("source_data")}

新增執行標記

本節說明如何將標記新增至 Dataform Core SQLX 檔案,以便分類工作流程。

如要將工作流程的元件整理到集合中,您可以將自訂標記新增至下列類型的 SQLX 檔案:

  • table
  • view
  • incremental
  • assertion
  • operations

在工作流程執行期間,您只能執行具有所選標籤的檔案

使用 Cloud ComposerWorkflows 和 Cloud Scheduler,您可以建立時間表,按照指定時間間隔執行 Dataform 工作流程,並選取標記。

新增標記

您可以在 SQLX 檔案中新增多個標記。

如要在 SQLX 檔案中新增標記,請按照下列步驟操作:

  1. 前往開發工作區。
  2. 在「檔案」窗格中,展開 definitions/
  3. 選取 SQLX 檔案。
  4. config 區塊中,加入下列格式的標記:

    tags: ["CUSTOM_TAG"]
    

    CUSTOM_TAG 替換成您的代碼。

  5. 選用:如要新增多個標記,請以半形逗號 (,) 分隔。

  6. 選用:按一下「格式」

下列程式碼範例顯示含有 dailyhourly 標記的 user_counts 檢視畫面:

config {
  type: "view",
  name: "user_counts",
  tags: ["daily", "hourly"]
}

後續步驟