Configuração do Snowflake para Spark no Databricks

O Conector Snowflake nativo do Databricks 4.2 permite que sua conta Databricks leia e grave dados no Snowflake sem importar nenhuma biblioteca. Versões mais antigas do Databricks exigiam a importação das bibliotecas para o conector Spark em seus clusters do Databricks.

O conector distribui automaticamente o processamento através do Spark e Snowflake, sem exigir que o usuário especifique as partes do processamento que devem ser feitas em cada sistema. As consultas também se beneficiam da otimização automática de pushdown de consultas do Snowflake.

Neste tópico:

Pré-requisitos

  • Você deve ter uma conta Databricks e deve estar usando a versão Databricks Runtime 4.2 ou posterior. Além disso:

    • Você já deve ter definido seu nome de login e senha de usuário Snowflake em seu gerenciador de segredos do Databricks; você informará o login e a senha chamando dbutils.secrets.get(...). Para obter mais detalhes sobre o gerenciador de segredos do Databricks, consulte https://docs.databricks.com/user-guide/secrets/index.html

  • Você deve ter uma conta Snowflake. Para ler ou gravar a partir desta conta, você precisa das seguintes informações:

    • URL para sua conta Snowflake.

    • Nome de login e senha para o usuário que se conecta à conta.

    • Banco de dados e esquema padrão a ser usado para a sessão após a conexão.

    • Warehouse virtual padrão a ser utilizado para a sessão após a conexão.

  • A função usada na conexão precisa de privilégios USAGE e CREATE STAGE no esquema que contém a tabela que você lerá ou gravará via Databricks.

Acesso à documentação do conector Snowflake para Databricks

A principal documentação para o conector Snowflake para Databricks está disponível no site Databricks. Essa documentação inclui exemplos mostrando os comandos que um notebook Scala ou Python usa para enviar dados do Spark para Snowflake ou vice-versa.

Para obter mais detalhes, consulte Fontes de dados – Snowflake.

Preparação de um local externo para consultas de longo prazo

Se alguns de seus trabalhos excederem 36 horas de duração, considere preparar um local externo para usar na troca de dados entre Snowflake e Spark. Para obter mais informações, consulte Preparação de um local externo para arquivos.

Pushdown de consulta no Databricks

As consultas do Spark se beneficiam da otimização automática de pushdown das consultas do Snowflake, o que melhora o desempenho. Por padrão, o pushdown de consulta do Snowflake é ativado no Databricks.

Para obter mais detalhes sobre o pushdown, consulte Envio do processamento de consultas do Spark para o Snowflake (blog do Snowflake).