Python을 사용하여 Snowflake 가상 웨어하우스 관리하기¶
Python을 사용하여 Snowflake의 컴퓨팅 리소스 클러스터인 Snowflake 가상 웨어하우스를 관리할 수 있습니다. 웨어하우스의 개요는 가상 웨어하우스 섹션을 참조하십시오.
Snowflake Python APIs 는 다음 두 가지 별개 유형의 웨어하우스를 나타냅니다.
Warehouse: 이름, 크기, 유형, 자동 재개, 자동 일시 중단 설정 등 웨어하우스의 속성을 노출합니다.WarehouseResource: 해당Warehouse오브젝트를 가져오고, 웨어하우스를 일시 중단 및 재개하고, 웨어하우스를 삭제하는 데 사용할 수 있는 메서드를 노출합니다.
전제 조건¶
이 항목의 예제에서는 Snowflake와 연결하고 Snowflake Python APIs 을 사용할 수 있는 Root 오브젝트를 생성하는 코드를 추가했다고 가정합니다.
예를 들어, 다음 코드는 구성 파일에 정의된 연결 매개 변수를 사용하여 Snowflake에 대한 연결을 생성합니다.
해당 코드에서는 결과 Session 오브젝트를 사용하여 API의 유형과 메서드를 사용하기 위해 Root 오브젝트를 생성합니다. 자세한 내용은 Snowflake Python APIs 을 사용하여 Snowflake에 연결 섹션을 참조하십시오.
웨어하우스 만들기¶
웨어하우스를 만들려면 먼저 Warehouse 오브젝트를 만든 다음 API Root 오브젝트에서 WarehouseCollection 오브젝트를 만드십시오. WarehouseCollection.create 를 사용하여 Snowflake에 새 웨어하우스를 추가합니다.
다음 예제의 코드는 my_wh 이라는 웨어하우스를 나타내는 Warehouse 오브젝트를 생성합니다.
이 코드는 WarehouseCollection 변수 warehouses 를 생성하고 WarehouseCollection.create 를 사용하여 Snowflake에 새 웨어하우스를 생성합니다.
웨어하우스 세부 정보 가져오기¶
Warehouse 오브젝트를 반환하는 WarehouseResource.fetch 메서드를 호출하여 웨어하우스에 대한 정보를 얻을 수 있습니다.
다음 예제의 코드로 이름이 my_wh 인 웨어하우스에 대한 정보를 가져옵니다.
웨어하우스 생성 또는 변경하기¶
Warehouse 오브젝트의 속성을 설정하고 이를 WarehouseResource.create_or_alter 메서드에 전달하여 존재하지 않는 경우 웨어하우스를 생성하거나, 존재하는 경우 웨어하우스 정의에 따라 변경할 수 있습니다. create_or_alter 의 동작은 멱등성을 갖도록 설계되었으므로, 메서드를 호출하기 전에 웨어하우스가 존재하는지 여부에 관계없이 결과 웨어하우스 오브젝트는 동일합니다.
참고
create_or_alter 메서드는 명시적으로 정의하지 않은 모든 웨어하우스 속성에 대해 기본값을 사용합니다. 예를 들어, auto_suspend 을 설정하지 않으면 이전에 다른 값으로 웨어하우스가 존재했더라도 기본값은 None 으로 설정됩니다.
다음 예제의 코드는 my_wh 웨어하우스의 크기와 자동 일시 중단 설정을 업데이트한 다음 Snowflake의 웨어하우스를 변경합니다.
이 경우 이전에 다른 속성으로 생성한 경우 my_wh 웨어하우스의 크기를 LARGE 로 변경하고 자동 일시 중단 설정을 1800 으로 변경합니다.
웨어하우스 나열하기¶
Warehouse 오브젝트의 PagedIter 반복기를 반환하는 WarehouseCollection.iter 메서드를 사용하여 웨어하우스를 나열할 수 있습니다.
다음 예제의 코드로 이름에 my 라는 텍스트가 포함되는 웨어하우스를 나열하고 각 작업의 이름을 인쇄합니다.
웨어하우스 작업 수행하기¶
WarehouseResource 오브젝트를 사용하여 웨어하우스 일시 중단 및 재개, 웨어하우스에 대한 모든 쿼리 중단 등 일반적인 웨어하우스 작업을 수행할 수 있습니다.
다음 예제의 코드는 my_wh 웨어하우스를 일시 중단한 후 다시 시작하고, 웨어하우스에서 실행 중이거나 큐에 대기 중인 모든 쿼리를 중단한 다음 웨어하우스를 삭제합니다.