Configuração comum para tutoriais das APIs Snowflake Python

Introdução

Este tópico fornece instruções para a configuração comum necessária para todos os tutoriais do Snowflake Python APIs disponíveis nesta documentação.

Visão geral do Snowflake Python APIs

Antes de iniciar sua configuração, dê uma olhada na estrutura do Snowflake Python APIs. A tabela a seguir lista alguns módulos comuns na API:

Módulo

Descrição

snowflake.core

Define um iterador para representar determinadas instâncias de recurso obtidas do banco de dados Snowflake.

snowflake.core.database

Gerencia bancos de dados Snowflake.

snowflake.core.schema

Gerencia esquemas Snowflake.

snowflake.core.table

Gerencia tabelas Snowflake.

snowflake.core.task

Gerencia tarefas Snowflake.

snowflake.core.task.dagv1

Um conjunto de APIs em um nível mais elevado do que as APIs de tarefa em snowflake.core.task para gerenciar mais convenientemente os gráficos de tarefa (DAGs).

snowflake.core.compute_pool

Gerencia pools de computação no Snowpark Container Services.

snowflake.core.image_repository

Gerencia repositórios de imagens no Snowpark Container Services.

snowflake.core.service

Gerencia serviços no Snowpark Container Services.

Para uma lista completa das APIs disponíveis atualmente, consulte a documentação de referência da API.

O módulo snowflake.core representa o ponto de entrada para o núcleo do Snowflake Python APIs que gerencia objetos Snowflake. Para usar a API, você segue um padrão comum:

  1. Estabeleça uma sessão usando o Snowpark ou uma conexão do Python Connector, representando sua conexão com o Snowflake.

  2. Importe e instancie a classe Root de snowflake.core e passe o objeto de sessão Snowpark como um argumento.

    Você usa o objeto Root resultante para acessar o restante dos métodos e tipos na API.

O código a seguir é um exemplo de como esse padrão normalmente se parece:

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

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

Para obter mais informações sobre várias opções e atributos de conexão, consulte Conexão ao Snowflake com o Snowflake Python APIs.

Nota

O Snowflake Python APIs pode estabelecer uma conexão com o Snowflake usando uma sessão do Snowpark ou uma conexão do Python Connector. O exemplo anterior usa uma sessão do Snowpark.

Continue para a próxima etapa para começar a configurar a API e seu ambiente de desenvolvimento!

Instale o Snowflake Python APIs

Importante

Atualmente, o Snowflake Python APIs oferece suporte às seguintes versões do Python:

  • 3.9

  • 3,10

  • 3,11

  • 3,12

Antes de instalar a API, você precisa ativar um ambiente Python.

Neste tutorial, você pode usar conda ou um ambiente virtual (venv).

  1. Para criar e ativar um ambiente conda ou virtual, abra um terminal de linha de comando e execute os seguintes comandos:

    conda create -n <env_name> python==3.10
    conda activate <env_name>
    
    Copy
  2. O pacote Snowflake Python APIs está disponível em PyPI.

    Para instalar o pacote da API no novo ambiente conda ou virtual, execute o seguinte comando:

    pip install snowflake -U
    
    Copy

Configure seu ambiente de desenvolvimento

Este tutorial aborda exemplos de código que você pode executar em um notebook Jupyter. Cada etapa do tutorial demonstra incrementalmente os recursos do Snowflake Python APIs.

Comece configurando seu ambiente de desenvolvimento para poder executar os exemplos de código em um notebook.

  1. Crie um arquivo nomeado $HOME/.snowflake/connections.toml com os seguintes parâmetros de conexão e atualize-o com suas credenciais reais:

    [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

    Nota

    O parâmetro account não oferece suporte a identificadores de conta com sublinhados. Você deve especificar um identificador de conta com traços no lugar de sublinhados. Para obter mais informações, consulte Nome da conta na sua organização.

    Este exemplo especifica esses parâmetros como a conexão padrão com o Snowflake em seu ambiente, criando uma definição de conexão chamada default.

  2. Use um dos seguintes métodos para abrir um notebook:

    • Abra um novo notebook em um editor de código compatível com notebooks Jupyter (como o Visual Studio Code).

    • Para abrir um notebook em seu navegador, inicie um servidor de notebook com o comando jupyter notebook.

      Para garantir que seu ambiente possa executar um notebook, execute conda install notebook em seu terminal antes de iniciar o servidor do notebook.

  3. Na primeira célula do notebook, execute as seguintes instruções de importação:

    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

    Nota

    Após executar esta célula, você pode ser solicitado a definir seu kernel Python. Se você ativou um ambiente conda, selecione conda como o kernel Python (por exemplo, algo semelhante a: ~/miniconda3/envs/<seu ambiente conda>/bin/python).

    Nesta célula, você importa o Snowpark e as APIs principais que gerenciam os objetos Snowflake.

  4. Na próxima célula, execute o seguinte código:

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

    Nesta célula, você define os parâmetros de conexão do Snowflake para sua sessão criando um dicionário connection_params especificando a definição de conexão nomeada default que você configurou anteriormente.

  5. Para estabelecer uma conexão com o Snowflake, crie uma sessão Snowpark e passe connection_params como argumento:

    session = Session.builder.configs(connection_params).create()
    
    Copy
  6. Para criar um objeto Root, passe seu objeto session ao construtor Root:

    root = Root(session)
    
    Copy

E é isso! Ao executar o código nessas quatro células, você estará pronto para usar o Snowflake Python APIs.

Qual é o próximo passo?

Agora você pode explorar o Tutorial 1: Crie um banco de dados, esquema, tabela e warehouse.