Execução de cargas de trabalho do Apache Spark™ no Snowflake com Snowpark Connect for Spark¶
Com Snowpark Connect for Apache Spark™, você pode conectar suas cargas de trabalho do Spark existentes diretamente ao Snowflake e executá-las no mecanismo de computação Snowflake. Snowpark Connect for Spark oferece suporte ao uso de Spark DataFrame API no Snowflake. Todas as cargas de trabalho são executadas no warehouse Snowflake. Como resultado, você pode executar seu código de dataframe PySpark com todos os benefícios do mecanismo Snowflake.
No Apache Spark™ versão 3.4, a comunidade Apache Spark introduziu o Spark Connect. Sua arquitetura de cliente-servidor desacoplada separa o código do usuário do cluster Spark onde o trabalho é feito. Essa nova arquitetura permite que o Snowflake execute tarefas do Spark.
Você pode desenvolver usando ferramentas de clientes conhecidas.
Snowpark Connect for Spark oferece os seguintes benefícios:
Desanexa cliente e servidor, para que o código Spark possa ser executado remotamente no mecanismo de computação do Snowflake sem que você precise gerenciar um cluster Spark.
Permite que a equipe use seu ecossistema existente para criar e orquestrar suas cargas de trabalho Spark - por exemplo, Jupyter Notebooks, código VS e Airflow.
Permite a reutilização de dataframes do Spark de código aberto e código Spark SQL com migrações ou alterações mínimas.
Oferece uma maneira simplificada de integrar governança, segurança e escalabilidade do Snowflake em fluxos de trabalho baseados em Spark, suportando uma experiência conhecida do PySpark com otimizações pushdown em Snowflake.
Permite o uso de várias linguagens, incluindo PySpark e Spark SQL.
Introdução aos Snowpark Connect for Spark¶
Para começar a usar o Snowpark Connect for Spark, siga estes passos:
Configuração da ferramenta do cliente que você usará para desenvolver cargas de trabalho do Spark para execução no Snowflake.
Por exemplo, você pode usar o Notebooks Snowflake ou outra ferramenta.
Execute cargas de trabalho do Spark de forma assíncrona usando Snowpark Submit.
Para obter mais informações, consulte Enviando aplicativos Spark.
Conheça o suporte Snowpark Connect for Spark para obter detalhes do Spark.
Para obter mais informações, consulte Guia de compatibilidade do Snowpark Connect for Spark.
Desenvolvimento e execução de cargas de trabalho do Spark no Snowflake¶
Você pode usar ferramentas de desenvolvimento conhecidas para desenvolver cargas de trabalho Spark que são executadas no Snowflake e, em seguida, executar essas cargas de trabalho em lotes usando a ferramenta de linha de comando Snowpark Submit. Para obter mais informações sobre quais clientes de desenvolvimento são compatíveis e como usá-los, consulte Clientes de desenvolvimento para Snowpark Connect for Spark.
Para desenvolvimento interativo, use ferramentas como Snowflake Notebooks ou VS Code para desenvolver cargas de trabalho do Spark. Você pode se autenticar no Snowflake, iniciar uma sessão do Spark e executar código PySpark para carregar, transformar e analisar dados. Para obter mais informações, consulte Clientes de desenvolvimento para Snowpark Connect for Spark.
Para cargas de trabalho em lote não interativas, você pode executar cargas de trabalho do Spark assíncronas diretamente na infraestrutura do Snowflake, usando a semântica conhecida do Spark. Use Snowpark Submit para enviar aplicativos Spark prontos para produção usando uma interface CLI simples e suas ferramentas, incluindo o Airflow. Para obter mais informações, consulte Enviando aplicativos Spark.