Snowflake Python APIs 자습서의 일반 설정

소개

이 항목에서는 이 설명서에서 제공되는 모든 Snowflake Python APIs 자습서에 필요한 공통 설정에 대한 지침을 제공합니다.

Snowflake Python APIs 개요

설정을 시작하기 전에 Snowflake Python APIs 구조를 살펴보십시오. 다음 테이블에는 API의 몇 가지 일반적인 모듈이 나열되어 있습니다.

모듈

설명

snowflake.core

Snowflake 데이터베이스에서 가져온 특정 리소스 인스턴스를 나타내는 반복자를 정의합니다.

snowflake.core.database

Snowflake 데이터베이스를 관리합니다.

snowflake.core.schema

Snowflake 스키마를 관리합니다.

snowflake.core.table

Snowflake 테이블을 관리합니다.

snowflake.core.task

Snowflake 작업을 관리합니다.

snowflake.core.task.dagv1

작업 그래프(DAGs)를 더욱 편리하게 관리하기 위해 snowflake.core.task 의 작업 APIs 보다 높은 수준의 APIs 세트입니다.

snowflake.core.compute_pool

Snowpark Container Services 의 컴퓨팅 풀을 관리합니다.

snowflake.core.image_repository

Snowpark Container Services 의 이미지 리포지토리를 관리합니다.

snowflake.core.service

Snowpark Container Services 의 서비스를 관리합니다.

현재 사용 가능한 APIs의 전체 목록은 API 참조 설명서 를 참조하십시오.

snowflake.core 모듈은 Snowflake 오브젝트를 관리하는 코어 Snowflake Python APIs 로의 진입점을 나타냅니다. API를 사용하려면 일반적인 패턴을 따릅니다.

  1. Snowpark 또는 Python 커넥터 연결을 사용하여 세션을 설정해 Snowflake에 대한 연결을 나타냅니다.

  2. snowflake.core 에서 Root 클래스를 가져오고 인스턴스화한 다음, Snowpark 세션 오브젝트를 인자로 전달합니다.

    결과 Root 오브젝트를 사용하여 API의 나머지 메서드와 유형에 액세스합니다.

이 패턴이 일반적으로 표시되는 방법을 보여주는 예시 코드는 다음과 같습니다.

from snowflake.snowpark import Session
from snowflake.core import Root

session = Session.builder.configs(connection_params).create()
root = Root(session)
Copy

다양한 연결 옵션 및 특성에 대한 자세한 내용은 Snowflake Python APIs 을 사용하여 Snowflake에 연결 섹션을 참조하십시오.

참고

Snowflake Python APIs 는 Snowpark 세션 또는 Python Connector 연결을 사용하여 Snowflake에 연결을 설정할 수 있습니다. 앞의 예제에서는 Snowpark 세션을 사용했습니다.

다음 단계로 계속 진행하여 API 및 개발 환경 설정을 시작할 수 있습니다!

Snowflake Python APIs 설치

중요

Snowflake Python APIs 는 현재 다음 버전의 Python을 지원합니다.

  • 3.9

  • 3.10

  • 3.11

  • 3.12

API를 설치하기 전에 Python 환경을 활성화해야 합니다.

이 자습서에서는 conda 또는 가상 환경(venv)을 사용할 수 있습니다.

  1. Conda 또는 가상 환경을 생성하고 활성화하려면 명령줄 터미널을 열고 다음 명령을 실행합니다.

    conda create -n <env_name> python==3.10
    conda activate <env_name>
    
    Copy
  2. Snowflake Python APIs 패키지는 PyPI로 제공됩니다.

    새로운 conda 또는 가상 환경에 API 패키지를 설치하려면 다음 명령을 실행합니다.

    pip install snowflake -U
    
    Copy

개발 환경 설정

이 자습서에서는 Jupyter 노트북에서 실행할 수 있는 코드 예제에 대해 설명합니다. 자습서의 각 단계에서는 Snowflake Python APIs 의 기능을 점진적으로 소개합니다.

먼저, 노트북에서 코드 예제를 실행할 수 있도록 개발 환경을 설정합니다.

  1. 다음 연결 매개 변수를 사용하여 이름이 $HOME/.snowflake/connections.toml 인 파일을 생성하고 실제 자격 증명으로 업데이트합니다.

    [default]
    account = "<YOUR ACCOUNT NAME>"
    user = "<YOUR ACCOUNT USER>"
    password = "<YOUR ACCOUNT USER PASSWORD>"
    # optional
    # warehouse = "<YOUR COMPUTE WH>"
    # optional
    # database = "<YOUR DATABASE>"
    # optional
    # schema = "<YOUR SCHEMA>"
    
    Copy

    참고

    account 매개 변수는 밑줄이 포함된 계정 식별자 를 지원하지 않습니다. 밑줄 대신 대시를 사용하여 계정 식별자를 지정해야 합니다. 자세한 내용은 조직의 계정 이름 섹션을 참조하십시오.

    이 예제에서는 이름이 default 인 연결 정의를 생성하여 이러한 매개 변수를 사용자 환경의 기본 연결로 지정해 Snowflake에 연결합니다.

  2. 다음 방법 중 하나를 사용하여 노트북을 엽니다.

    • Jupyter 노트북을 지원하는 코드 편집기(예: Visual Studio Code)에서 새 노트북을 엽니다.

    • 브라우저에서 노트북을 열려면 jupyter notebook 명령으로 노트북 서버를 시작합니다.

      노트북을 실행할 수 있는 환경인지 확인하려면 노트북 서버를 시작하기 전에 터미널에서 conda install notebook 을 실행합니다.

  3. 노트북의 첫 번째 셀에서 다음 가져오기 문을 실행합니다.

    from datetime import timedelta
    
    from snowflake.snowpark import Session
    from snowflake.snowpark.functions import col
    from snowflake.core import Root, CreateMode
    from snowflake.core.database import Database
    from snowflake.core.schema import Schema
    from snowflake.core.stage import Stage
    from snowflake.core.table import Table, TableColumn, PrimaryKey
    from snowflake.core.task import StoredProcedureCall, Task
    from snowflake.core.task.dagv1 import DAGOperation, DAG, DAGTask
    from snowflake.core.warehouse import Warehouse
    
    Copy

    참고

    이 셀을 실행한 후 Python 커널을 설정하라는 메시지가 표시될 수 있습니다. conda 환경을 활성화한 경우 Python 커널(예: ~/miniconda3/envs/<사용자의 conda 환경>/bin/python 과 유사한 커널)로 conda를 선택합니다.

    이 셀에서는 Snowpark와 Snowflake 오브젝트를 관리하는 코어 APIs를 가져옵니다.

  4. 다음 셀에서 다음 코드를 실행합니다.

    connection_params = {
        "connection_name": "default"
    }
    
    Copy

    이 셀에서는 이전에 구성한 이름이 default 인 연결 정의를 지정하는 connection_params 사전을 생성하여 세션에 대한 Snowflake 연결 매개 변수를 설정합니다.

  5. Snowflake에 연결하려면 Snowpark 세션을 생성하고 connection_params 를 인자로 전달합니다.

    session = Session.builder.configs(connection_params).create()
    
    Copy
  6. Root 오브젝트를 생성하려면 session 오브젝트를 Root 생성자에 전달합니다.

    root = Root(session)
    
    Copy

완료되었습니다! 이 4개의 셀에서 코드를 실행하면 이제 Snowflake Python APIs 을 사용할 준비가 된 것입니다.

다음에는 무엇을 해야 합니까?

이제 자습서 1: 데이터베이스, 스키마, 테이블, 웨어하우스 만들기 을 살펴볼 수 있습니다.