Pular para o conteúdo principal

recomendações de desempenho da lakehouse Federation

Este artigo fornece orientações para melhorar o desempenho das consultas da Lakehouse Federation.

Definir o parâmetro JDBC fetchSize

O tamanho da busca do JDBC determina o número de linhas a serem buscadas por viagem de ida e volta. Em default, a maioria dos conectores JDBC busca dados atomicamente. Isso pode fazer com que a quantidade de dados exceda a quantidade de memória disponível.

Para evitar erros de falta de memória, defina o parâmetro fetchSize. Quando fetchSize é definido como um valor diferente de zero, o conector lê os dados em lotes. O número máximo de linhas por lote é igual ao valor de fetchSize. A Databricks recomenda a especificação de um valor fetchSize grande (por exemplo, 100,000) porque o tempo total de execução da consulta pode ser prolongado se o número de linhas em lotes for muito pequeno.

Esse parâmetro permite que os nós do worker leiam os dados em lotes, mas não em paralelo.

Requisitos de computação:

  • O senhor deve usar o site compute em Databricks Runtime 16.1 ou acima. SQL O warehouse deve ser Pro ou sem servidor e deve usar o 2024.50.
SQL
SELECT * FROM catalog.schema.jdbcTable WITH ('fetchSize' 100000)

Definir o parâmetro partition_size_in_mb (Snowflake)

Defina o parâmetro partition_size_in_mb para grandes conjuntos de resultados de consulta que precisam ser divididos em várias partições de DataFrame. Essa opção especifica o tamanho não compactado recomendado para cada partição do DataFrame. Para reduzir o número de partições, especifique um valor maior. O endereço default é 100 (MB).

partition_size_in_mb é usado como tamanho recomendado. O tamanho real das partições pode ser menor ou maior.

Requisitos de computação:

  • O senhor deve usar o site compute em Databricks Runtime 16.1 ou acima. SQL O warehouse deve ser Pro ou sem servidor e deve usar o 2024.50.
SQL
SELECT * FROM catalog.schema.snowflakeTable WITH ('partition_size_in_mb' 1000)