Snowflake Notebooks 의 세션 컨텍스트

노트북의 세션 컨텍스트는 노트북이 실행되는 역할, 웨어하우스, 데이터베이스 및 스키마에 의해 정의됩니다. 노트북을 만들면 노트북에 사용할 역할, 웨어하우스, 데이터베이스, 스키마를 정의합니다. 노트북을 실행하면 노트북에 정의된 웨어하우스를 사용하여 해당 역할로 실행되고, 노트북이 포함된 데이터베이스 및 스키마의 컨텍스트에서 실행됩니다.

이 항목에서는 노트북의 세션 컨텍스트에 액세스하거나 변경하는 방법을 설명합니다.

노트북의 세션 컨텍스트에 액세스하기

Python 및 SQL을 모두 사용하여 세션 컨텍스트에 액세스할 수 있습니다.

Snowpark Python 라이브러리 또는 Snowflake Python APIs 을 사용하는 경우 get_active_session() 메서드를 사용하여 활성 세션 컨텍스트를 가져옵니다.

from snowflake.snowpark.context import get_active_session
session = get_active_session()
Copy

SQL의 경우 컨텍스트 함수 SQL 함수를 사용할 수 있습니다.

SELECT CURRENT_WAREHOUSE(), CURRENT_DATABASE(), CURRENT_SCHEMA();
Copy

노트북의 세션 컨텍스트 변경하기

노트북의 세션 컨텍스트를 변경하여 다른 역할, 데이터베이스 및 스키마 및/또는 웨어하우스를 사용할 수 있습니다.

  • USE ROLE SQL 명령과 함께 사용할 다른 역할을 지정합니다.

    • 노트북에서 사용 중인 역할을 확인하려면 CURRENT_ROLE 함수를 호출합니다.

    • 노트북 웨어하우스, 데이터베이스 또는 스키마를 사용할 수 있는 권한이 없는 역할로 변경하면 웨어하우스나 노트북 데이터베이스 또는 스키마에 대한 액세스가 필요한 쿼리가 실행되지 않습니다. 하지만 노트북 웨어하우스, 데이터베이스, 스키마를 사용하지 않는 쿼리도 실행할 수 있습니다.

    • USE ROLE SQL 명령으로 지정한 역할은 노트북 세션 간에 지속되지 않습니다.

    • 현재 활성 역할에 액세스할 권한이 없는 데이터베이스나 스키마를 지정하면 해당 데이터베이스와 스키마를 사용하는 쿼리는 실행되지 않습니다.

  • SQL 명령 USE SECONDARY ROLES 를 실행해 보조 역할을 ALL로 설정하면 사용자와 연결된 보조 역할이 노트북 셀의 결과 세트를 생성하는 데 사용됩니다.

  • SQL 명령 USE WAREHOUSE 를 사용하여 다른 웨어하우스를 지정합니다.

    • 노트북이 사용 중인 웨어하우스를 확인하려면 CURRENT_WAREHOUSE 함수를 호출합니다.

  • 다른 데이터베이스 또는 스키마를 지정하려면 USE DATABASE 또는 USE SCHEMA SQL 명령을 사용합니다.

    • 노트북에서 사용 중인 데이터베이스를 확인하려면 CURRENT_DATABASE 함수를 호출합니다.

    • 노트북 데이터베이스 또는 이전 노트북 셀에 지정된 데이터베이스에서 오브젝트를 참조하는 경우, SQL 문을 단순화해 오브젝트에 대한 정규화된 경로 대신 참조할 스키마와 오브젝트만 포함할 수 있습니다.

다음 단계

  • 노트북을 사용해 결과를 저장하고 공유 하는 방법에 대해 알아보십시오.