管理日常安排
在 BigQuery 中,「處理常式」是一種資源類型,包含下列項目:
本文說明 BigQuery 中所有例行程序類型都適用的常見工作。
權限
如要執行處理常式,您必須在包含處理常式的資料集上擁有 bigquery.routines.get
權限。
根據預設,您也需要存取例行工作參照的任何資源 (例如資料表或檢視畫面) 的權限。針對 UDF 和資料表函式,您可以授權函式代表呼叫端存取這些資源。詳情請參閱「授權函式」一文。
建立處理常式
如要建立日常安排,您必須具備 bigquery.routines.create
權限。
SQL
視例行程序類型而定,執行下列任一 DDL 陳述式:
API
使用已定義的 Routine
資源呼叫 routines.insert
方法。
列出處理常式
如要列出資料集中的常式,您必須具備 bigquery.routines.get
和 bigquery.routines.list
權限。
主控台
在 Google Cloud 控制台開啟「BigQuery」頁面。
在「Explorer」面板中展開專案並選取資料集。
展開「Routines」清單。
SQL
查詢 INFORMATION_SCHEMA.ROUTINES
檢視表:
前往 Google Cloud 控制台的「BigQuery」頁面。
在查詢編輯器中輸入以下陳述式:
SELECT COLUMN_LIST FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES;
按一下
「Run」。
如要進一步瞭解如何執行查詢,請參閱「執行互動式查詢」一文。
更改下列內容:
- COLUMN_LIST:以逗號分隔的資料欄清單,來自
INFORMATION_SCHEMA.ROUTINES
檢視畫面。 - DATASET:專案中的資料集名稱。
- REGION:區域限定詞。
範例:
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
權限。
主控台
在 Google Cloud 控制台開啟「BigQuery」頁面。
在「Explorer」面板中展開專案並選取資料集。
展開「Routines」清單。
選取日常安排。日常安排的內容會列在「日常安排查詢」下方。
SQL
選取 INFORMATION_SCHEMA.ROUTINES
檢視畫面的 routine_definition
欄:
前往 Google Cloud 控制台的「BigQuery」頁面。
在查詢編輯器中輸入以下陳述式:
SELECT routine_definition FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES WHERE routine_name = ROUTINE_NAME;
按一下
「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
權限。
主控台
在 Google Cloud 控制台開啟「BigQuery」頁面。
在「Explorer」面板中展開專案並選取資料集。
展開「Routines」清單。
選取日常安排。
展開
「Actions」 選項,然後按一下「Delete」。在對話方塊中輸入
"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
方法。