管理日常安排

在 BigQuery 中,「處理常式」是一種資源類型,包含下列項目:

本文說明 BigQuery 中所有例行程序類型都適用的常見工作。

權限

如要執行處理常式,您必須在包含處理常式的資料集上擁有 bigquery.routines.get 權限。

根據預設,您也需要存取例行工作參照的任何資源 (例如資料表或檢視畫面) 的權限。針對 UDF 和資料表函式,您可以授權函式代表呼叫端存取這些資源。詳情請參閱「授權函式」一文。

建立處理常式

如要建立日常安排,您必須具備 bigquery.routines.create 權限。

SQL

視例行程序類型而定,執行下列任一 DDL 陳述式:

API

使用已定義的 Routine 資源呼叫 routines.insert 方法

列出處理常式

如要列出資料集中的常式,您必須具備 bigquery.routines.getbigquery.routines.list 權限。

主控台

  1. 在 Google Cloud 控制台開啟「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」面板中展開專案並選取資料集。

  3. 展開「Routines」清單。

SQL

查詢 INFORMATION_SCHEMA.ROUTINES 檢視表

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

    前往 BigQuery

  2. 在查詢編輯器中輸入以下陳述式:

    SELECT
      COLUMN_LIST
    FROM
       { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES;

  3. 按一下 「Run」

如要進一步瞭解如何執行查詢,請參閱「執行互動式查詢」一文。

更改下列內容:

範例:

SELECT
  routine_name, routine_type, routine_body
FROM
  mydataset.INFORMATION_SCHEMA.ROUTINES;
+------------------+----------------+--------------+
|   routine_name   |  routine_type  | routine_body |
+------------------+----------------+--------------+
| AddFourAndDivide | FUNCTION       | SQL          |
| create_customer  | PROCEDURE      | SQL          |
| names_by_year    | TABLE FUNCTION | SQL          |
+------------------+----------------+--------------+

bq

使用加上 --routines 旗標的 bq ls 指令

bq ls --routines DATASET

更改下列內容:

  • DATASET:專案中的資料集名稱。

範例:

bq ls --routines mydataset
         Id              Routine Type        Language    Creation Time    Last Modified Time
------------------ ----------------------- ---------- ----------------- --------------------
 AddFourAndDivide   SCALAR_FUNCTION         SQL        05 May 01:12:03   05 May 01:12:03
 create_customer    PROCEDURE               SQL        21 Apr 19:55:51   21 Apr 19:55:51
 names_by_year      TABLE_VALUED_FUNCTION   SQL        01 Sep 22:59:17   01 Sep 22:59:17

API

使用資料集 ID 呼叫 routines.list 方法

查看日常安排的內容

如要查看日常生活的內容,您必須具備 bigquery.routines.get 權限。

主控台

  1. 在 Google Cloud 控制台開啟「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」面板中展開專案並選取資料集。

  3. 展開「Routines」清單。

  4. 選取日常安排。日常安排的內容會列在「日常安排查詢」下方。

SQL

選取 INFORMATION_SCHEMA.ROUTINES 檢視畫面routine_definition 欄:

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

    前往 BigQuery

  2. 在查詢編輯器中輸入以下陳述式:

    SELECT
      routine_definition
    FROM
      { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES
    WHERE
      routine_name = ROUTINE_NAME;

  3. 按一下 「Run」

如要進一步瞭解如何執行查詢,請參閱「執行互動式查詢」一文。

更改下列內容:

  • DATASET:專案中的資料集名稱。
  • REGION區域限定詞
  • ROUTINE_NAME:日常安排的名稱。

範例:

SELECT
  routine_definition
FROM
  mydataset.INFORMATION_SCHEMA.ROUTINES
WHERE
  routine_name = 'AddFourAndDivide';
+--------------------+
| routine_definition |
+--------------------+
| (x + 4) / y        |
+--------------------+

bq

使用加上 --routine 旗標的 bq show 指令

bq show --routine DATASET.ROUTINE_NAME

更改下列內容:

  • DATASET:專案中的資料集名稱。
  • ROUTINE_NAME:日常安排的名稱。

範例:

bq show --routine mydataset.AddFourAndDivide
         Id           Routine Type     Language             Signature             Definition     Creation Time    Last Modified Time
 ------------------ ----------------- ---------- ------------------------------- ------------- ----------------- --------------------
  AddFourAndDivide   SCALAR_FUNCTION   SQL        (x INT64, y INT64) -> FLOAT64   (x + 4) / y   05 May 01:12:03   05 May 01:12:03

API

請使用資料集 ID 和處理常式名稱呼叫 routines.get 方法。例行程序的主體會在 Routine 物件中傳回。

刪除處理常式

如要刪除日常安排,您必須具備 bigquery.routines.delete 權限。

主控台

  1. 在 Google Cloud 控制台開啟「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」面板中展開專案並選取資料集。

  3. 展開「Routines」清單。

  4. 選取日常安排。

  5. 展開 「Actions」 選項,然後按一下「Delete」

  6. 在對話方塊中輸入 "delete",然後按一下「Delete」 確認。

SQL

視例行程序類型而定,執行下列任一 DDL 陳述式:

範例:

DROP FUNCTION IF EXISTS mydataset.AddFourAndDivide

bq

使用加上 --routine 旗標的 bq rm 指令

bq rm --routine DATASET.ROUTINE_NAME

更改下列內容:

  • DATASET:專案中的資料集名稱。
  • ROUTINE_NAME:日常安排的名稱。

範例:

bq rm --routine mydataset.AddFourAndDivide

API

請使用資料集 ID 和處理常式名稱呼叫 routines.delete 方法