루틴 관리
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 패널에서 프로젝트를 확장하고 데이터 세트를 선택합니다.
루틴 목록을 펼칩니다.
SQL
INFORMATION_SCHEMA.ROUTINES
뷰를 쿼리합니다.
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
쿼리 편집기에서 다음 문을 입력합니다.
SELECT COLUMN_LIST FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES;
실행을 클릭합니다.
쿼리를 실행하는 방법에 대한 자세한 내용은 대화형 쿼리 실행을 참조하세요.
다음을 바꿉니다.
- 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 패널에서 프로젝트를 확장하고 데이터 세트를 선택합니다.
루틴 목록을 펼칩니다.
루틴을 선택합니다. 루틴 본문은 루틴 쿼리 아래에 나열됩니다.
SQL
INFORMATION_SCHEMA.ROUTINES
뷰의 routine_definition
열을 선택합니다.
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
쿼리 편집기에서 다음 문을 입력합니다.
SELECT routine_definition FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES WHERE routine_name = ROUTINE_NAME;
실행을 클릭합니다.
쿼리를 실행하는 방법에 대한 자세한 내용은 대화형 쿼리 실행을 참조하세요.
다음을 바꿉니다.
- 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 패널에서 프로젝트를 확장하고 데이터 세트를 선택합니다.
루틴 목록을 펼칩니다.
루틴을 선택합니다.
작업 옵션을 펼치고 삭제를 클릭합니다.
대화상자에
"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
메서드를 호출합니다.