Gerenciamento de bibliotecas do Spark

Aplica-se a: SQL Server 2019 (15.x)

Importante

O complemento Clusters de Big Data do Microsoft SQL Server 2019 será desativado. O suporte para Clusters de Big Data do SQL Server 2019 será encerrado em 28 de fevereiro de 2025. Todos os usuários existentes do SQL Server 2019 com Software Assurance terão suporte total na plataforma e o software continuará a ser mantido por meio de atualizações cumulativas do SQL Server até esse momento. Para obter mais informações, confira a postagem no blog de anúncio e as opções de Big Data na plataforma do Microsoft SQL Server.

Este artigo fornece diretrizes sobre como importar e instalar os pacotes de uma sessão do Spark por meio de configurações de sessão e de notebook.

Ferramentas internas

Pacotes básicos do Scala Spark (Scala 2.12) e do Hadoop.

PySpark (Python 3.8). Pandas, Sklearn, Numpy e outros pacotes de processamento de dados e aprendizado de máquina.

Pacotes do MRO 3.5.2. Sparklyr e SparkR para cargas de trabalho do R Spark.

Instalar pacotes por meio de um repositório Maven no cluster do Spark no runtime

Os pacotes Maven podem ser instalados no seu cluster do Spark usando a configuração de célula do notebook no início da sessão do Spark. Antes de iniciar uma sessão do Spark no Azure Data Studio, execute o seguinte código:

%%configure -f \
{"conf": {"spark.jars.packages": "com.microsoft.azure:azure-eventhubs-spark_2.12:2.3.1"}}

Vários pacotes e configurações Spark adicionais

Na célula de bloco de anotações de exemplo a seguir, vários pacotes são definidos.

%%configure -f \
{
    "conf": {
        "spark.jars.packages": "com.microsoft.azure:synapseml_2.12:0.9.4,com.microsoft.azure:azure-eventhubs-spark_2.12:2.3.1",
        "spark.jars.repositories":"https://mmlspark.azureedge.net/maven"
    }
}

Instalar pacotes do Python no PySpark em runtime

O gerenciamento de pacotes no nível do trabalho e da sessão garante a consistência e o isolamento de bibliotecas. A configuração é a padrão para bibliotecas do Spark que pode ser aplicada em sessões do Livy. O azdata spark dá suporte a essas configurações. Os exemplos abaixo são apresentados como células de configuração de Notebooks do Azure Data Studio que precisam ser executadas após a anexação a um cluster com o kernel do PySpark.

Se a configuração "spark.pyspark.virtualenv.enabled" : "true" não estiver definida, a sessão usará o Python padrão do cluster e as bibliotecas instaladas.

Configuração de sessão/trabalho com requirements.txt

Especifique o caminho para um arquivo requirements.txt no HDFS que será usado como uma referência para os pacotes a serem instalados.

%%configure -f \
{
    "conf": {
        "spark.pyspark.virtualenv.enabled" : "true",
        "spark.pyspark.virtualenv.python_version": "3.8",
        "spark.pyspark.virtualenv.requirements" : "hdfs://user/project-A/requirements.txt"
    }
}

Configuração de sessão/trabalho com diferentes versões do Python

Crie um virtualenv do Conda sem um arquivo de requisitos e adicione pacotes dinamicamente durante a sessão do Spark.

%%configure -f \
{
    "conf": {
        "spark.pyspark.virtualenv.enabled" : "true",
        "spark.pyspark.virtualenv.python_version": "3.7"
    }
}

Instalação de biblioteca

Execute o sc.install_packages para instalar bibliotecas dinamicamente em sua sessão. As bibliotecas serão instaladas no driver e em todos os nós de execução.

sc.install_packages("numpy==1.11.0")
import numpy as np

Também é possível instalar várias bibliotecas no mesmo comando usando uma matriz.

sc.install_packages(["numpy==1.11.0", "xgboost"])
import numpy as np
import xgboost as xgb

Importar o .jar por meio do HDFS para uso no runtime

Importe o jar no runtime por meio da configuração de célula do notebook do Azure Data Studio.

%%configure -f
{"conf": {"spark.jars": "/jar/mycodeJar.jar"}}

Próximas etapas

Para obter mais informações sobre os clusters de Big Data do SQL Server e os cenários relacionados, confira Clusters de Big Data do SQL Server.