데이터과학 삼학년

Bigquery procedure 를 이용하여 recursion 함수 만들기 본문

GCP

Bigquery procedure 를 이용하여 recursion 함수 만들기

Dan-k 2021. 4. 17. 00:28
반응형

빅쿼리 프로시져는 함수처럼 작동한다.

즉, 프로시져 자체를 재귀적으로 호출 가능하다

 

그렇다면,

대표적인 recursion 문제인 피보나치 수열을 빅쿼리를 이용해 구현해보자!

 

구현 코드

# Bigquery procedure를 이용하여 recursion 피보나치 수열 함수 만들기
CREATE OR REPLACE PROCEDURE bdh.Fibo(INOUT x INT64)
BEGIN
  DECLARE a,b INT64;
  IF x <=2 THEN
    SET x = x;
  ELSE
    SET a = x-2;
    SET b = x-1;
    CALL bdh.Fibo(a);
    CALL bdh.Fibo(b);
    SET x = a+b; 
  END IF;
END;

실행 예시

## 실행 예시
## 의도한 fibonacci 수열 : 1,2,3,5,8,13,21
DECLARE X INT64 DEFAULT 7;
CALL bdh.Fibo(X);
SELECT X

728x90
반응형
LIST
Comments