Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server 2019 (15.x)
Important
Os Clusters de Big Data do Microsoft SQL Server 2019 foram desativados. O suporte para clusters de Big Data do SQL Server 2019 terminou em 28 de fevereiro de 2025. Para obter mais informações, consulte a postagem no blog de anúncios e as opções de Big Data na plataforma microsoft SQL Server.
Neste guia, você aprenderá:
- Os requisitos e as funcionalidades do Delta Lake no Clusters de Big Data do SQL Server.
- Como carregar bibliotecas do Delta Lake em clusters da CU12 para usar com trabalhos e sessões do Spark 2.4.
Introduction
O Linux Foundation Delta Lake é uma camada de armazenamento de software livre que traz transações ACID (atomicidade, consistência, isolamento e durabilidade) para o Apache Spark e cargas de trabalho de Big Data. Para saber mais sobre o Delta Lake, confira:
Delta Lake no Clusters de Big Data do SQL Server CU13 e superior (Spark 3)
O Delta Lake é instalado e configurado por padrão no Clusters de Big Data do SQL Server CU13 e superior. Nenhuma ação adicional é necessária.
Este artigo aborda a configuração do Delta Lake no Clusters de Big Data do SQL Server CU12 e inferior.
Configurar o Delta Lake em Clusters de Big Data do SQL Server CU12 e inferior (Spark 2.4)
No Clusters de Big Data do SQL Server CU12 ou inferior, é possível carregar bibliotecas do Delta Lake usando o recurso Gerenciamento de bibliotecas do Spark.
Note
Como regra geral, use a biblioteca compatível mais recente. O código neste guia foi testado usando o Delta Lake 0.6.1 no Clusters de Big Data do SQL Server CU12. O Delta Lake 0.6.1 é compatível com o Apache Spark 2.4.x; versões posteriores não são. Os exemplos são fornecidos no estado em que se encontram, não como uma declaração de suporte.
Opções de configuração do Spark e da biblioteca do Delta Lake
Configure suas bibliotecas do Delta Lake com seu aplicativo antes de enviar os trabalhos. A seguinte biblioteca é necessária:
- delta-core – Essa biblioteca principal habilita o suporte ao Delta Lake.
A biblioteca precisa ser destinada ao Scala 2.11 e ao Spark 2.4.7. Este requisito do Clusters de Big Data do SQL Server é para a CU9 (atualização cumulativa 9) ou posterior do SQL 2019.
Também é necessário configurar o Spark para habilitar comandos do Spark SQL específicos para o Delta Lake e a integração de metastore. O exemplo abaixo é como um notebook do Azure Data Studio configuraria o suporte ao Delta Lake:
%%configure -f \
{
"conf": {
"spark.jars.packages": "io.delta:delta-core_2.11:0.6.1",
"spark.sql.extensions":"io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog":"org.apache.spark.sql.delta.catalog.DeltaCatalog"
}
}
Compartilhar locais de biblioteca para trabalhos no HDFS
Se vários aplicativos usarão a biblioteca do Delta Lake, copie os arquivos JAR de biblioteca apropriados para uma localização compartilhada no HDFS. Em seguida, todos os trabalhos deverão referenciar os mesmos arquivos de biblioteca.
Copie as bibliotecas para o local comum:
azdata bdc hdfs cp --from-path delta-core_2.11-0.6.1.jar --to-path "hdfs:/apps/jars/delta-core_2.11-0.6.1.jar"
Instalar as bibliotecas dinamicamente
Você pode instalar pacotes dinamicamente ao enviar um trabalho usando os recursos de gerenciamento de pacotes dos Clusters de Big Data. Há uma penalidade de tempo de inicialização de trabalho devido aos downloads recorrentes dos arquivos de biblioteca em cada envio de trabalho.
Enviar o trabalho do Spark usando azdata
O seguinte exemplo usa os arquivos JAR da biblioteca compartilhada no HDFS:
azdata bdc spark batch create -f hdfs:/apps/ETL-Pipelines/my-delta-lake-python-job.py \
-j '["/apps/jars/delta-core_2.11-0.6.1.jar"]' \
--config '{"spark.sql.extensions":"io.delta.sql.DeltaSparkSessionExtension","spark.sql.catalog.spark_catalog":"org.apache.spark.sql.delta.catalog.DeltaCatalog"}' \
-n MyETLPipelinePySpark --executor-count 2 --executor-cores 2 --executor-memory 1664m
Este exemplo usa o gerenciamento de pacotes dinâmicos para instalar as dependências:
azdata bdc spark batch create -f hdfs:/apps/ETL-Pipelines/my-delta-lake-python-job.py \
--config '{"spark.jars.packages":"io.delta:delta-core_2.11:0.6.1","spark.sql.extensions":"io.delta.sql.DeltaSparkSessionExtension","spark.sql.catalog.spark_catalog":"org.apache.spark.sql.delta.catalog.DeltaCatalog"' \
-n MyETLPipelinePySpark --executor-count 2 --executor-cores 2 --executor-memory 1664m
Next steps
Para saber como usar efetivamente o Delta Lake, confira os artigos a seguir.
Para enviar trabalhos do Spark ao Clusters de Big Data do SQL Server usando pontos de extremidade azdata ou Livy, confira Enviar trabalhos do Spark usando ferramentas de linha de comando.
Para saber mais sobre Clusters de Big Data do SQL Server e os cenários relacionados, confira Introdução a Clusters de Big Data do SQL Server.