Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
Aprenda a usar Spark y Hive Tools para Visual Studio Code para crear y enviar scripts de PySpark para Apache Spark, en primer lugar describiremos cómo instalar las herramientas de Spark y Hive en Visual Studio Code y, a continuación, veremos cómo enviar trabajos a Spark.
Spark y Hive Tools se pueden instalar en plataformas compatibles con Visual Studio Code, que incluyen Windows, Linux y macOS. A continuación encontrará los requisitos previos para diferentes plataformas.
Prerrequisitos
Los elementos siguientes son necesarios para completar los pasos indicados en este artículo:
- Un clúster de macrodatos de SQL Server. Consulte Clústeres de macrodatos de SQL Server.
- Código de Visual Studio.
- Python y la extensión de Python en Visual Studio Code.
- Mono. Mono solo es necesario para Linux y macOS.
- Configure el entorno interactivo de PySpark para Visual Studio Code.
- Directorio local denominado SQLBDCexample. En este artículo se usa C:\SQLBDC\SQLBDCexample.
Instalar Spark & Hive Tools
Una vez completados los requisitos previos, puede instalar Spark y Hive Tools para Visual Studio Code. Complete los pasos siguientes para instalar Spark y Hive Tools:
Abre Visual Studio Code.
En la barra de menús, vaya a Ver>Extensiones.
En el cuadro de búsqueda, escriba Spark & Hive.
Seleccione Spark & Hive Tools(Herramientas de Spark y Hive), publicada por Microsoft, en los resultados de búsqueda y, a continuación, seleccione Instalar.
Vuelva a cargar cuando sea necesario.
Abrir carpeta de trabajo
Complete los pasos siguientes para abrir una carpeta de trabajo y crear un archivo en Visual Studio Code:
En la barra de menús, vaya a Abrir>carpeta...>C:\SQLBDC\SQLBDCexample y, a continuación, seleccione el botón Seleccionar carpeta . La carpeta se mostrará en la vista Explorador de la parte izquierda.
En la vista Explorador , seleccione la carpeta SQLBDCexample y, a continuación, el icono Nuevo archivo junto a la carpeta de trabajo.
Asigne al nuevo archivo el nombre con la
.pyextensión de archivo (script de Spark). En este ejemplo se usa HelloWorld.py.Copie y pegue el código siguiente en el archivo de script:
import sys from operator import add from pyspark.sql import SparkSession, Row spark = SparkSession\ .builder\ .appName("PythonWordCount")\ .getOrCreate() data = [Row(col1='pyspark and spark', col2=1), Row(col1='pyspark', col2=2), Row(col1='spark vs hadoop', col2=2), Row(col1='spark', col2=2), Row(col1='hadoop', col2=2)] df = spark.createDataFrame(data) lines = df.rdd.map(lambda r: r[0]) counters = lines.flatMap(lambda x: x.split(' ')) \ .map(lambda x: (x, 1)) \ .reduceByKey(add) output = counters.collect() sortedCollection = sorted(output, key = lambda r: r[1], reverse = True) for (word, count) in sortedCollection: print("%s: %i" % (word, count))
Vinculación de un clúster de macrodatos de SQL Server
Para poder enviar scripts a los clústeres desde Visual Studio Code, debe vincular un clúster de macrodatos de SQL Server.
En la barra de menús, vaya a Ver> paleta decomandos... y escriba Spark /Hive: Vincular un clúster.
Seleccione tipo de clúster vinculado SQL Server Big Data.
Introduzca el endpoint de Big Data de SQL Server.
Escriba el nombre de usuario del clúster de macrodatos de SQL Server.
Escriba la contraseña del administrador del usuario.
Establezca el nombre para mostrar del clúster de macrodatos (opcional).
Enumere los clústeres y revise la vista OUTPUT para comprobarlo.
Lista de clústeres
En la barra de menús, vaya a Ver>paleta de comandos... y escriba Spark /Hive: Enumerar clúster.
Revise la ventana de SALIDA. La vista mostrará los clústeres vinculados.
Establecimiento del clúster predeterminado
Re-Open la carpeta SQLBDCexample creada anteriormente si está cerrada.
Seleccione el archivo HelloWorld.py creado anteriormente y se abrirá en el editor de scripts.
Vincule un clúster si aún no lo ha hecho.
Haga clic con el botón derecho en el editor de scripts y seleccione Spark /Hive: Establecer clúster predeterminado.
Seleccione un clúster como el clúster predeterminado para el archivo de script actual. Las herramientas actualizan automáticamente el archivo de configuración .VSCode\settings.js.
Enviar consultas de PySpark interactivas
Para enviar consultas interactivas de PySpark, siga estos pasos:
Vuelva a abrir la carpeta SQLBDCexample creada anteriormente si se cierra.
Seleccione el archivo HelloWorld.py creado anteriormente y se abrirá en el editor de scripts.
Vincule un clúster si aún no lo ha hecho.
Elija todo el código y haga clic con el botón derecho en el editor de scripts, seleccione Spark: PySpark Interactive para enviar la consulta o use el método abreviado Ctrl + Alt + I.
Seleccione el clúster si no ha especificado un clúster predeterminado. Después de unos instantes, los resultados interactivos de Python aparecen en una nueva pestaña. Las herramientas también permiten enviar un bloque de código en lugar del archivo de script completo mediante el menú contextual.
Escriba "%%info"y presione Mayús + Entrar para ver la información del trabajo. (Opcional)
Nota:
Cuando la extensión de Python habilitada está desactivada en la configuración (se activa la configuración predeterminada), los resultados de interacción de pyspark enviados usarán la ventana anterior.
Enviar trabajo por lotes de PySpark
Vuelva a abrir la carpeta SQLBDCexample creada anteriormente si se cierra.
Seleccione el archivo HelloWorld.py creado anteriormente y se abrirá en el editor de scripts.
Vincule un clúster si aún no lo ha hecho.
Haga clic con el botón derecho en el editor de scripts y, a continuación, seleccione Spark: PySpark Batch o use el método abreviado Ctrl + Alt + H.
Seleccione el clúster si no ha especificado un clúster predeterminado. Después de enviar trabajo de Python, los registros de envío se muestran en la ventana de SALIDA en Visual Studio Code. También se muestran la dirección URL de la interfaz de usuario de Spark y la dirección URL de la interfaz de usuario de Yarn . Para realizar un seguimiento del estado del trabajo, puede abrir la URL en un explorador web.
Configuración de Apache Livy
Se admite la configuración de Apache Livy; se puede establecer en . VSCode\settings.jsen la carpeta del espacio de trabajo. En la actualidad, la configuración de Livy solo admite el script de Python. Para obtener más información, consulte ReadME de Livy.
Cómo desencadenar la configuración de Livy
Método 1
- En la barra de menús, vaya a Archivo>Preferencias>Configuración.
- En el cuadro de texto Configuración de búsqueda , escriba ENVÍO de trabajos de HDInsight: Livy Conf.
- Seleccione Editar en settings.json para el resultado de la búsqueda relevante.
Método 2
Envíe un archivo y observe que la .vscode carpeta se agrega automáticamente a la carpeta de trabajo. Para encontrar la configuración de Livy, seleccione settings.json en .vscode.
Configuración del proyecto:
Nota:
Para las configuraciones driverMemory y executorMemory, establezca el valor con unidad, por ejemplo, 1 GB o 1024 MB.
Configuraciones de Livy admitidas
POST /batches
Cuerpo de la solicitud
| nombre | descripción | tipo |
|---|---|---|
| archivo | Archivo que contiene la aplicación que se ejecutará | ruta (obligatorio) |
| proxyUser | Usuario que se suplantará al ejecutar el trabajo | cuerda / cadena |
| nombreDeClase | Clase principal de Java/Spark de la aplicación | cuerda / cadena |
| args | Argumentos de línea de comandos para la aplicación | lista de cadenas |
| Frascos | archivos jar que se usarán en esta sesión | Lista de cadenas |
| Archivos pyFiles | Archivos de Python que se van a usar en esta sesión | Lista de cadenas |
| Archivos | archivos que se usarán en esta sesión | Lista de cadenas |
| memoria del controlador | Cantidad de memoria que se va a usar para el proceso del controlador | cuerda / cadena |
| driverCores | Número de núcleos que se van a usar para el proceso de controlador | Int |
| memoriaDelEjecutor | Cantidad de memoria que se va a usar por proceso de ejecutor | cuerda / cadena |
| executorCores | Número de núcleos que se usarán para cada ejecutor | Int |
| numExecutors | Número de ejecutores que se van a iniciar para esta sesión | Int |
| archivo | Archivos que se usarán en esta sesión | Lista de cadenas |
| fila | Nombre de la cola de YARN a la que se envió | cuerda / cadena |
| nombre | Nombre de esta sesión | cuerda / cadena |
| Conf | Propiedades de configuración de Spark | Mapa de clave=valor |
| :- | :- | :- |
Cuerpo de la respuesta
Objeto de lote creado.
| nombre | descripción | tipo |
|---|---|---|
| identificación | Identificador de sesión | Int |
| ID de la aplicación | Identificador de aplicación de esta sesión | Cuerda |
| appInfo | Información detallada de la aplicación | Mapa de clave=valor |
| registro | Líneas de registro | lista de cadenas |
| estado | Estado del lote | cuerda / cadena |
| :- | :- | :- |
Nota:
La configuración de Livy asignada se mostrará en el panel de salida al enviar el script.
Características adicionales
Spark y Hive para Visual Studio Code admiten las siguientes características:
Autocompletar de IntelliSense. Aparecerán sugerencias para palabra clave, métodos, variables y mucho más. Los diferentes iconos representan diferentes tipos de objetos.
Marcador de error de IntelliSense. El servicio de lenguaje subraya los errores de edición del script de Hive.
Sintaxis resaltada. El servicio de lenguaje usa colores diferentes para diferenciar variables, palabras clave, tipo de datos, funciones, etc.
Desvincular clúster
En la barra de menús, vaya a Ver> paleta decomandos... y, a continuación, escriba Spark /Hive: Desvincular un clúster.
Seleccione clúster para desvincular.
Revise la vista SALIDA.
Pasos siguientes
Para obtener más información sobre el clúster de macrodatos de SQL Server y los escenarios relacionados, consulte Clústeres de macrodatos de SQL Server.