Administración de la biblioteca de Spark

Se aplica a: SQL Server 2019 (15.x)

Importante

El complemento Clústeres de macrodatos de Microsoft SQL Server 2019 se va a retirar. La compatibilidad con Clústeres de macrodatos de SQL Server 2019 finalizará el 28 de febrero de 2025. Todos los usuarios existentes de SQL Server 2019 con Software Assurance serán totalmente compatibles con la plataforma, y el software se seguirá conservando a través de actualizaciones acumulativas de SQL Server hasta ese momento. Para más información, consulte la entrada de blog sobre el anuncio y Opciones de macrodatos en la plataforma Microsoft SQL Server.

En este artículo se proporcionan instrucciones sobre cómo importar e instalar paquetes para una sesión de Spark mediante configuraciones de sesión y de cuaderno.

Herramientas integradas

Paquetes base Scala Spark (Scala 2.12) y Hadoop.

PySpark (Python 3.8). Pandas, Sklearn, Numpy y otros paquetes de procesamiento de datos y aprendizaje automático.

Paquetes de MRO 3.5.2. Sparklyr y SparkR para cargas de trabajo de R Spark.

Instalación de paquetes desde un repositorio de Maven en el clúster de Spark en tiempo de ejecución

Los paquetes de Maven se pueden instalar en el clúster de Spark mediante la configuración de las celdas del cuaderno al inicio de la sesión de Spark. Antes de iniciar una sesión de Spark en Azure Data Studio, ejecute el siguiente código:

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

Varios paquetes y configuraciones adicionales de Spark

En la siguiente celda del cuaderno de ejemplo, se definen varios paquetes.

%%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"
    }
}

Instalación de paquetes de Python en PySpark en tiempo de ejecución

La administración de paquetes de nivel de trabajo y de sesión garantiza la coherencia y el aislamiento de la biblioteca. La configuración es una configuración de biblioteca estándar de Spark que se puede aplicar en las sesiones de Livy. azdata spark admite estas configuraciones. Los ejemplos que se muestran a continuación se presentan como cuadernos de Azure Data Studio. Configure las celdas que deben ejecutarse después de conectarse a un clúster con el kernel de PySpark.

Si no se establece la configuración de "spark.pyspark.virtualenv.enabled" : "true" , la sesión usará las bibliotecas instaladas de Python predeterminadas del clúster.

Configuración de la sesión o del trabajo con requirements.txt

Especifique la ruta de acceso a un archivo requirements.txt en HDFS para usarlo como referencia para los paquetes que se van a instalar.

%%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"
    }
}

Configuración de la sesión o del trabajo con diferentes versiones de Python

Cree un entorno virtual (virtualenv) de conda sin un archivo de requisitos y agregue paquetes dinámicamente durante la sesión de Spark.

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

Instalación de la biblioteca

Ejecute el archivo sc.install_packages para instalar las bibliotecas de forma dinámica en la sesión. Las bibliotecas se instalarán en el controlador y en todos los nodos del ejecutor.

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

También es posible instalar varias bibliotecas en el mismo comando mediante una matriz.

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

Importación de archivos .jar desde HDFS para su uso en tiempo de ejecución

Importe archivos .jar en tiempo de ejecución mediante la configuración de las celdas del cuaderno de Azure Data Studio.

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

Pasos siguientes

Para obtener más información sobre los clústeres de macrodatos de SQL Server y los escenarios relacionados, vea Clústeres de macrodatos de SQL Server.