Execução de cargas de trabalho do Spark por meio dos notebooks Snowflake¶
É possível executar cargas de trabalho do Spark interativamente por meio do Snowflake Notebooks sem precisar gerenciar um cluster do Spark. As cargas de trabalho são executadas na infraestrutura do Snowflake.
Para usar o Snowflake Notebooks como um cliente para desenvolver cargas de trabalho do Spark para execução no Snowflake:
Como usar o Snowflake Notebooks
No notebook, inicie uma sessão do Spark.
Escreva código PySpark para carregar, transformar e analisar dados, como para filtrar pedidos de clientes de alto valor ou agregar receita.
Uso de um notebook Snowflake executado em um warehouse¶
Para obter mais informações sobre os notebooks Snowflake, consulte Criação de um notebook.
Crie um notebook Snowflake concluindo as seguintes etapas:
Faça login na Snowsight.
Na parte superior do menu de navegação, selecione
(Create) » Notebook » New Notebook.Na caixa de diálogo Create notebook, insira um nome, banco de dados e esquema para o novo notebook.
Para obter mais informações, consulte Criação de um notebook.
Para Runtime, selecione Run on warehouse.
Para Runtime version, selecione Snowflake Warehouse Runtime 2.0.
Ao selecionar a versão 2.0, você garante que terá o suporte de dependência necessário, incluindo Python 3.10. Para obter mais informações, consulte Tempos de execução do notebook.
Para Query warehouse e Notebook warehouse, selecione warehouses para executar o código de consulta e o código kernel e Python, conforme descrito em Criação de um notebook.
Selecione Create.
No notebook que você criou, em Packages, certifique-se de ter os seguintes pacotes listados para oferecer suporte ao código em seu notebook:
Python versão 3.10 ou mais recente.
snowpark-connect, versão mais recente
Se você precisar adicionar esses pacotes, siga estas etapas:
Em Anaconda Packages, digite o nome do pacote na caixa de pesquisa.
Selecione o nome do pacote.
Selecione Save.
Para conectar-se ao servidor Snowpark Connect for Spark e testar a conexão, copie o código a seguir e cole-o na célula Python do notebook que você criou:
from snowflake import snowpark_connect spark = snowpark_connect.server.init_spark_session() df = spark.sql("show schemas").limit(10) df.show()
Use a Snowflake Notebook that runs in a workspace¶
For more information about Snowflake Notebooks in Workspaces, see Snowflake Notebooks no Workspaces.
Crie uma integração de acesso externo PyPI.
Você deve usar a função ACCOUNTADMIN e ter um banco de dados a que tenha acesso.
Execute os seguintes comandos de um arquivo SQL em um espaço de trabalho.
USE DATABASE mydb; USE ROLE accountadmin; CREATE OR REPLACE NETWORK RULE pypi_network_rule MODE = EGRESS TYPE = HOST_PORT VALUE_LIST = ('pypi.org', 'pypi.python.org', 'pythonhosted.org', 'files.pythonhosted.org'); CREATE OR REPLACE EXTERNAL ACCESS INTEGRATION pypi_access_integration ALLOWED_NETWORK_RULES = (pypi_network_rule) ENABLED = true;
Habilite a integração PyPI em um notebook.
No notebook, para Service name, selecione um serviço.
Para External access integrations, selecione a integração PyPI que você criou.
For Python version, select Python 3.11.
Selecione Create.
Instale o pacote
snowpark_connectde PyPI no notebook, usando um código como este:pip install snowpark-connect[jdk]
Reinicie o kernel.
No botão Connect, selecione Restart kernel.
Inicie o servidor
snowpark_connectusando um código como este:import snowflake.snowpark_connect spark = snowflake.snowpark_connect.server.init_spark_session()
Execute o código do Spark, conforme mostrado no exemplo a seguir:
from pyspark.sql.connect.functions import * from pyspark.sql.connect.types import * from pyspark.sql import Row # Sample nested data data = [(1, ("Alice", 30))] schema = "id INT, info STRUCT<name:STRING, age:INT>" df = spark.createDataFrame(data, schema=schema) df.show() spark.sql("show databases").show()
