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.
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.
SELECT * FROM catalog.schema.snowflakeTable WITH ('partition_size_in_mb' 1000)