CREATE OPENFLOW RUNTIME
CREATE OPENFLOW RUNTIME
gen 2 배포에 런타임(runtime)을 만드는 명령이에요. 런타임은 Openflow 커넥터를 호스팅하는 컴퓨팅 노드 그룹이에요.
출처: 문서
본문
gen 2 배포에 런타임을 만들어요.
함께 보기: ALTER OPENFLOW RUNTIME, DROP OPENFLOW RUNTIME, SHOW OPENFLOW RUNTIMES, DESCRIBE OPENFLOW RUNTIME
구문 (Syntax)
CREATE OPENFLOW RUNTIME [ IF NOT EXISTS ] [ <database>.<schema>. ]<name>
IN DEPLOYMENT <deployment_name>
NODE_TYPE = { SMALL | MEDIUM | LARGE }
[ NODE_TYPE_TIER = { 'S1' | 'S2' | 'S3' | 'M4' | 'M6' | 'L8' } ]
MIN_NODES = <integer>
MAX_NODES = <integer>
EXECUTE_AS_ROLE = <role>
[ EXTERNAL_ACCESS_INTEGRATIONS = ( <eai> [ , <eai> ... ] ) ]
[ DISPLAY_NAME = <string> ]
[ COMMENT = <string> ]
필수 매개변수 (Required parameters)
[ database.schema. ]name
런타임의 식별자를 지정해요. 정규화된 이름을 사용하거나 database.schema를 생략해 세션 기본값을 사용해요. 자세한 내용은 식별자 요구 사항(Identifier requirements)을 참고해요.
IN DEPLOYMENT deployment_name
이 런타임을 호스팅하는 gen 2 배포예요.
NODE_TYPE = { SMALL | MEDIUM | LARGE }
노드 유형이에요. 생성 후에는 변경할 수 없어요. 생성 후 같은 노드 유형 안에서 크기를 조정하려면 NODE_TYPE_TIER를 사용해요.
MIN_NODES = integer
최소 노드 수 (1–50)예요.
MAX_NODES = integer
최대 노드 수 (1–50)예요.
EXECUTE_AS_ROLE = role
커넥터가 Snowflake에서 읽고 쓸 때 사용하는 역할이에요. 실행 역할 만들기(Create an execute-as role)를 참고해요.
선택 매개변수 (Optional parameters)
NODE_TYPE_TIER = { S1 | S2 | S3 | M4 | M6 | L8 }
노드 유형 안의 인스턴스 티어(tier)예요. 티어는 각 노드에서 사용 가능한 CPU와 힙 메모리를 결정해요. 티어는 NODE_TYPE 값과 일치해야 해요.
S1,S2,S3는NODE_TYPE = SMALL이 필요해요.M4,M6는NODE_TYPE = MEDIUM이 필요해요.L8은NODE_TYPE = LARGE가 필요해요.
| 티어 (Tier) | 노드 유형 (Node type) | 노드당 CPU (CPUs per node) | 노드당 힙 (Heap per node) |
|---|---|---|---|
S1 |
SMALL | 1 | 4 GB |
S2 |
SMALL | 2 | 8 GB |
S3 |
SMALL | 3 | 12 GB |
M4 |
MEDIUM | 4 | 16 GB |
M6 |
MEDIUM | 6 | 24 GB |
L8 |
LARGE | 8 | 33 GB |
생성 후 ALTER OPENFLOW RUNTIME … SET NODE_TYPE_TIER로 같은 노드 유형 안에서 티어를 변경할 수 있어요.
- 기본값:
SMALL은S1,MEDIUM은M4,LARGE는L8
IF NOT EXISTS
런타임이 이미 존재하지 않을 때만 만들도록 해요. 런타임이 이미 존재하면 문은 아무것도 하지 않고 성공 메시지를 반환해요.
EXTERNAL_ACCESS_INTEGRATIONS = ( eai [ , ... ] )
Snowflake 배포 전용이에요. 외부 데이터 소스로의 이그레스(egress)를 허용하는 외부 접근 인티그레이션들이에요.
- 기본값: 값 없음
DISPLAY_NAME = string
UI 표시 이름이에요. 설정하지 않으면 Openflow UI에 SQL name이 표시돼요.
- 기본값: 값 없음
COMMENT = string
- 기본값: 값 없음
접근 제어 (Access control)
포함하는 데이터베이스에 대한 USAGE, 대상 스키마에 대한 CREATE OPENFLOW RUNTIME(또는 스키마 소유권), 상위 배포에 대한 USAGE 권한이 필요해요.
사용 메모 (Usage notes)
이 명령은 즉시 반환돼요. 런타임 프로비저닝은 비동기로 실행되며 일반적으로 3~5분이 걸려요. 런타임이 ACTIVE가 될 때까지 기다리려면 SYSTEM$WAIT_FOR_OPENFLOW_RUNTIME_STATUS 또는 SYSTEM$WAIT_FOR_STABLE_OPENFLOW_RUNTIMES를 사용해요.
최적의 노드 수는 커넥터 유형과 워크로드에 따라 달라져요. 권장 값은 커넥터별 설정 항목을 참고해요.
예시 (Example)
CREATE OPENFLOW RUNTIME my_db.my_schema.my_runtime
IN DEPLOYMENT my_deployment
NODE_TYPE = MEDIUM
NODE_TYPE_TIER = 'M4'
MIN_NODES = 1
MAX_NODES = 1
EXECUTE_AS_ROLE = OPENFLOW_MY_RUNTIME_EXECUTE_AS_RL
DISPLAY_NAME = 'My Runtime';
더 알아보기 (Learn more)
- ALTER OPENFLOW RUNTIME — 런타임 수정
- DROP OPENFLOW RUNTIME — 런타임 삭제
- SHOW OPENFLOW RUNTIMES — 런타임 조회