Usar las herramientas Spark y Hive para Visual Studio CodeUse Spark & Hive Tools for Visual Studio Code

Obtenga información sobre cómo usar las herramientas Apache Spark y Apache Hive para Visual Studio Code.Learn how to use Apache Spark & Hive Tools for Visual Studio Code. Use las herramientas para crear y enviar trabajos por lotes de Apache Hive, consultas de Hive interactivas y scripts de PySpark para Apache Spark.Use the tools to create and submit Apache Hive batch jobs, interactive Hive queries, and PySpark scripts for Apache Spark. Primero, describiremos cómo instalar las herramientas Spark y Hive en Visual Studio Code.First we'll describe how to install Spark & Hive Tools in Visual Studio Code. A continuación, veremos cómo enviar trabajos a las herramientas Spark y Hive.Then we'll walk through how to submit jobs to Spark & Hive Tools.

Las herramientas Spark y Hive se pueden instalar en todas las plataformas compatibles con Visual Studio Code.Spark & Hive Tools can be installed on platforms that are supported by Visual Studio Code. Observe los siguientes requisitos previos para las distintas plataformas.Note the following prerequisites for different platforms.

Requisitos previosPrerequisites

Los elementos siguientes son necesarios para completar los pasos indicados en este artículo:The following items are required for completing the steps in this article:

Instalar Spark & Hive ToolsInstall Spark & Hive Tools

Después de completar los requisitos previos, puede instalar Spark & Hive Tools para Visual Studio Code siguiendo estos pasos:After you meet the prerequisites, you can install Spark & Hive Tools for Visual Studio Code by following these steps:

  1. Abra Visual Studio Code.Open Visual Studio Code.

  2. En la barra de menús, vaya a Ver > Extensiones.From the menu bar, navigate to View > Extensions.

  3. En el cuadro de búsqueda, escriba Spark & Hive.In the search box, enter Spark & Hive.

  4. Seleccione Spark & Hive Tools en los resultados de búsqueda y seleccione Instalar:Select Spark & Hive Tools from the search results, and then select Install:

    Instalación de Spark & Hive Tools para Visual Studio Code Python

  5. Seleccione Recargar cuando sea necesario.Select Reload when necessary.

Apertura de una carpeta de trabajoOpen a work folder

Para abrir una carpeta de trabajo y crear un archivo en Visual Studio Code, siga estos pasos:To open a work folder and to create a file in Visual Studio Code, follow these steps:

  1. En la barra de menús, vaya a Archivo > Abrir carpeta... > C:\HD\HDexample y, luego, seleccione el botón Seleccionar carpeta.From the menu bar, navigate to File > Open Folder... > C:\HD\HDexample, and then select the Select Folder button. La carpeta se mostrará en la vista Explorador de la parte izquierda.The folder appears in the Explorer view on the left.

  2. En la vista Explorador, seleccione la carpeta, HDexample y, a continuación, el icono Nuevo archivo situado junto a la carpeta de trabajo:In Explorer view, select the HDexample folder, and then select the New File icon next to the work folder:

    Icono de archivo nuevo de Visual Studio Code

  3. Asigne al nuevo archivo la extensión de archivo .hql (consultas de Hive) o .py (script de Spark).Name the new file by using either the .hql (Hive queries) or the .py (Spark script) file extension. En este ejemplo se utiliza HelloWorld.hql.This example uses HelloWorld.hql.

Establecimiento del entorno de AzureSet the Azure environment

Para usuarios de la nube nacional, siga los pasos para configurar el entorno de Azure en primer lugar y, a continuación, use el comando Azure: Sign In para iniciar sesión en Azure:For a national cloud user, follow these steps to set the Azure environment first, and then use the Azure: Sign In command to sign in to Azure:

  1. Vaya a Archivo > Preferencias > Configuración.Navigate to File > Preferences > Settings.

  2. Busque la siguiente cadena: Azure: Cloud (Azure: nube).Search on the following string: Azure: Cloud.

  3. Seleccione la nube nacional de la lista:Select the national cloud from the list:

    Establecer la configuración de entrada de inicio de sesión predeterminada

Conexión a la cuenta de AzureConnect to an Azure account

Para poder enviar scripts a los clústeres desde Visual Studio Code, el usuario puede iniciar sesión en la suscripción de Azure o vincular un clúster de HDInsight.Before you can submit scripts to your clusters from Visual Studio Code, user can either sign in to Azure subscription, or link a HDInsight cluster. Use el nombre de usuario y la contraseña de Ambari o las credenciales del clúster ESP para conectarse al clúster de HDInsight.Use the Ambari username/password or domain joined credential for ESP cluster to connect to your HDInsight cluster. Siga estos pasos para conectarse a Azure:Follow these steps to connect to Azure:

  1. En la barra de menús, vaya a Ver > Paleta de comandos... y escriba Azure: Sign In:From the menu bar, navigate to View > Command Palette..., and enter Azure: Sign In:

    Spark & Hive Tools para el inicio de sesión de Visual Studio Code

  2. Siga las instrucciones para iniciar sesión en Azure.Follow the sign-in instructions to sign in to Azure. Una vez establecida la conexión, el nombre de la cuenta de Azure se muestra en la barra de estado en la parte inferior de la ventana de Visual Studio Code.After you're connected, your Azure account name shows on the status bar at the bottom of the Visual Studio Code window.

Puede vincular un clúster normal mediante un nombre de usuario administrado de Apache Ambari o vincular un clúster de Hadoop de seguridad de Enterprise Security Pack mediante un nombre de usuario de dominio (como user1@contoso.com).You can link a normal cluster by using an Apache Ambari-managed username, or you can link an Enterprise Security Pack secure Hadoop cluster by using a domain username (such as: user1@contoso.com).

  1. En la barra de menús, vaya a Ver > Paleta de comandos... y escriba Spark / Hive: Link a Cluster (vincular un clúster).From the menu bar, navigate to View > Command Palette..., and enter Spark / Hive: Link a Cluster.

    Paleta de comandos, comando de vinculación de clúster

  2. Seleccione el tipo de clúster vinculado Azure HDInsight.Select linked cluster type Azure HDInsight.

  3. Escriba la dirección URL del clúster de HDInsight.Enter the HDInsight cluster URL.

  4. Escriba el nombre de usuario de Ambari; el valor predeterminado es admin.Enter your Ambari username; the default is admin.

  5. Escriba la contraseña de Ambari.Enter your Ambari password.

  6. Seleccione el tipo de clúster.Select the cluster type.

  7. Establezca el nombre para mostrar del clúster (opcional).Set the display name of the cluster (optional).

  8. Revise la vista SALIDA.Review OUTPUT view for verification.

    Nota

    Si el clúster se registró en la suscripción de Azure y se vinculó, se usan el nombre de usuario y la contraseña vinculados.The linked username and password are used if the cluster both logged in to the Azure subscription and linked a cluster.

  1. En la barra de menús, vaya a Ver > Paleta de comandos... y escriba Spark / Hive: Link a Cluster (vincular un clúster).From the menu bar, navigate to View > Command Palette..., and enter Spark / Hive: Link a Cluster.

  2. Seleccione el tipo de clúster vinculado Generic Livy Endpoint (Punto de conexión de Livy genérico).Select linked cluster type Generic Livy Endpoint.

  3. Escriba el punto de conexión de Livy genérico.Enter the generic Livy endpoint. Por ejemplo, http://10.172.41.42:18080.For example: http://10.172.41.42:18080.

  4. Seleccione el tipo de autorización Básica o Ninguna.Select authorization type Basic or None. Si selecciona Básico:If you select Basic:

    1. Escriba el nombre de usuario de Ambari; el valor predeterminado es admin.Enter your Ambari username; the default is admin.

    2. Escriba la contraseña de Ambari.Enter your Ambari password.

  5. Revise la vista SALIDA.Review OUTPUT view for verification.

Lista de clústeresList clusters

  1. En la barra de menús, vaya a Ver > Paleta de comandos... y escriba Spark / Hive: List Cluster (lista de clústeres).From the menu bar, navigate to View > Command Palette..., and enter Spark / Hive: List Cluster.

  2. Seleccione la suscripción que desea.Select the subscription that you want.

  3. Revise la ventana de SALIDA.Review the OUTPUT view. Esta vista muestra el clúster vinculado (o los clústeres vinculados) y todos los clústeres de su suscripción de Azure:This view shows your linked cluster (or clusters) and all the clusters under your Azure subscription:

    Establecer una configuración de clúster predeterminado

Establecimiento de clúster predeterminadoSet the default cluster

  1. Vuelva a abrir la carpeta HDexample que se trató anteriormente, en caso de que esté cerrada.Reopen the HDexample folder that was discussed earlier, if closed.

  2. Seleccione el archivo HelloWorld.hql que se creó anteriormente.Select the HelloWorld.hql file that was created earlier. Se abre en el editor de scripts.It opens in the script editor.

  3. Haga clic con el botón derecho en el editor de scripts y, después, seleccione Spark / Hive: Set Default Cluster (establecer clúster predeterminado).Right-click the script editor, and then select Spark / Hive: Set Default Cluster.

  4. Conéctese a su cuenta de Azure o vincule un clúster si no lo ha hecho aún.Connect to your Azure account, or link a cluster if you haven't yet done so.

  5. Seleccione un clúster como el clúster predeterminado para el archivo de script actual.Select a cluster as the default cluster for the current script file. Las herramientas actualizan automáticamente el archivo de configuración .VSCode\settings.json:The tools automatically update the .VSCode\settings.json configuration file:

    Establecer la configuración del clúster predeterminado

Envío de consultas de Hive interactivas y scripts por lotes de HiveSubmit interactive Hive queries and Hive batch scripts

Con Spark & Hive Tools para Visual Studio Code, puede enviar consultas de Hive interactivas y scripts por lotes de Hive a sus clústeres.With Spark & Hive Tools for Visual Studio Code, you can submit interactive Hive queries and Hive batch scripts to your clusters.

  1. Vuelva a abrir la carpeta HDexample que se trató anteriormente, en caso de que esté cerrada.Reopen the HDexample folder that was discussed earlier, if closed.

  2. Seleccione el archivo HelloWorld.hql que se creó anteriormente.Select the HelloWorld.hql file that was created earlier. Se abre en el editor de scripts.It opens in the script editor.

  3. Copie y pegue el código siguiente en el archivo de Hive y guárdelo:Copy and paste the following code into your Hive file, and then save it:

    SELECT * FROM hivesampletable;
    
  4. Conéctese a su cuenta de Azure o vincule un clúster si no lo ha hecho aún.Connect to your Azure account, or link a cluster if you haven't yet done so.

  5. Haga clic con el botón derecho en el editor de scripts y seleccione Hive: Interactive (Hive: Interactivo) para enviar la consulta, o bien use el acceso directo Ctrl+Alt +I.Right-click the script editor and select Hive: Interactive to submit the query, or use the Ctrl+Alt+I keyboard shortcut. Seleccione Hive: Batch (Hive: Lote) para enviar la consulta, o bien use el acceso directo Ctrl+Alt+H.Select Hive: Batch to submit the script, or use the Ctrl+Alt+H keyboard shortcut.

  6. Seleccione el clúster si no ha especificado un clúster predeterminado.If you haven't specified a default cluster, select a cluster. Las herramientas también permiten enviar un bloque de código en lugar del archivo de script completo mediante el menú contextual.The tools also let you submit a block of code instead of the whole script file by using the context menu. Transcurridos unos instantes, los resultados de la consulta aparecen en una pestaña nueva:After a few moments, the query results appear in a new tab:

    Resultado de consulta interactiva de Apache Hive

    • Panel RESULTADOS: Puede guardar todo el resultado en forma de archivo CSV, JSON o de Excel en una ruta de acceso local, o bien seleccionar únicamente varias líneas.RESULTS panel: You can save the whole result as a CSV, JSON, or Excel file to a local path or just select multiple lines.

    • Panel MENSAJES: Al seleccionar el número de Línea, se salta a la primera línea del script en ejecución.MESSAGES panel: When you select a Line number, it jumps to the first line of the running script.

Enviar consultas de PySpark interactivasSubmit interactive PySpark queries

Los usuarios pueden llevar a cabo PySpark Interactive de las siguientes maneras:Users can perform PySpark interactive in the following ways:

Con el comando de PySpark Interactive en el archivo PYUsing the PySpark interactive command in PY file

Para usar el comando de PySpark Interactive con el fin de enviar las consultas, siga estos pasos:Using the PySpark interactive command to submit the queries, follow these steps:

  1. Vuelva a abrir la carpeta HDexample que se trató anteriormente, en caso de que esté cerrada.Reopen the HDexample folder that was discussed earlier, if closed.

  2. Cree un nuevo archivo HelloWorld.py siguiendo los pasos anteriores.Create a new HelloWorld.py file, following the earlier steps.

  3. Copie y pegue el código siguiente en el archivo de script:Copy and paste the following code into the script file:

    from operator import add
    lines = spark.read.text("/HdiSamples/HdiSamples/FoodInspectionData/README").rdd.map(lambda r: r[0])
    counters = lines.flatMap(lambda x: x.split(' ')) \
                 .map(lambda x: (x, 1)) \
                 .reduceByKey(add)
    
    coll = counters.collect()
    sortedCollection = sorted(coll, key = lambda r: r[1], reverse = True)
    
    for i in range(0, 5):
         print(sortedCollection[i])
    
  4. El mensaje para instalar el kernel de PySpark/Synapse Pyspark se muestra en la esquina inferior derecha de la ventana.The prompt to install PySpark/Synapse Pyspark kernel is displayed in the lower right corner of the window. Puede hacer clic en el botón Instalar para continuar con las instalaciones de Pyspark o Synaps PySpark, o bien hacer clic en el botón Omitir para omitir este paso.You can click on Install button to proceed for the PySpark/Synapse Pyspark installations; or click on Skip button to skip this step.

    Captura de pantalla que muestra una opción para omitir la instalación de PySpark.

  5. Si tiene que instalarlo más adelante, puede ir a Archivo > Preferencia > Configuración y desactivar HDInsight: Enable Skip Pyspark Installation (Habilitar Omitir la instalación de Pyspark) en las opciones.If you need to install it later, you can navigate to File > Preference > Settings, then uncheck HDInsight: Enable Skip Pyspark Installation in the settings.

    Captura de pantalla que muestra la opción Enable Skip Pyspark Installation (Habilitar Omitir la instalación de Pyspark).

  6. Si la instalación se realiza correctamente en el paso 4, el cuadro de mensaje "PySpark installed succesfully" (PySpark se instaló correctamente) se muestra en la esquina inferior derecha de la ventana.If the installation is successful in step 4, the "PySpark installed successfully" message box is displayed in the lower right corner of the window. Haga clic en botón Reload (Recargar) para volver a cargar la ventana.Click on Reload button to reload the window.

    pyspark se ha instalado correctamente

  7. En la barra de menús, vaya a View (Ver) > Command Palette (Paleta de comandos) o use el método abreviado de teclado Mayús + Ctrl + P y escriba Python: Seleccione Interpreter (Intérprete) para iniciar el servidor de Jupyter.From the menu bar, navigate to View > Command Palette... or use the Shift + Ctrl + P keyboard shortcut, and enter Python: Select Interpreter to start Jupyter Server.

    Seleccionar Interpreter para iniciar el servidor de Jupyter

  8. Seleccione la opción de Python que aparece a continuación.Select the python option below.

    Elija la opción siguiente

  9. En la barra de menús, vaya a View(Ver) > Command Palette (Paleta de comandos) o use el método abreviado de teclado Mayús + Ctrl + P y escriba Desarrollador: Recargar ventana.From the menu bar, navigate to View > Command Palette... or use the Shift + Ctrl + P keyboard shortcut, and enter Developer: Reload Window.

    Recargar ventana

  10. Conéctese a su cuenta de Azure o vincule un clúster si no lo ha hecho aún.Connect to your Azure account, or link a cluster if you haven't yet done so.

  11. Seleccione todo el código, haga clic con el botón derecho en el editor de scripts y seleccione Spark: PySpark Interactive/Synapse: Pyspark Interactive para enviar la consulta.Select all the code, right-click the script editor, and select Spark: PySpark Interactive / Synapse: Pyspark Interactive to submit the query.

    menú contextual de PySpark Interactive

  12. Seleccione el clúster si no ha especificado un clúster predeterminado.Select the cluster, if you haven't specified a default cluster. En un momento, los resultados de Python Interactive se mostrarán en una pestaña nueva. Haga clic en PySpark para cambiar el kernel a PySpark/Synapse Pyspark y así el código se ejecuta correctamente.After a few moments, the Python Interactive results appear in a new tab. Click on PySpark to switch the kernel to PySpark / Synapse Pyspark, and the code will run successfully. Si se quiere cambiar al kernel de Synapse Pyspark, se recomienda deshabilitar la configuración automática en Azure Portal.If you want to switch to Synapse Pyspark kernel, disabling auto-settings in Azure portal is encouraged. En caso contrario, es posible que se tarde mucho tiempo en reactivar el clúster y establecer el kernel de Synapse para el primer uso.Otherwise it may take a long while to wake up the cluster and set synapse kernel for the first time use. Si las herramientas también permiten enviar un bloque de código en lugar del archivo de script completo mediante el menú contextual:If The tools also let you submit a block of code instead of the whole script file by using the context menu:

    ventana de Python Interactive de PySpark Interactive

  13. Escriba %%info y presione Mayús+Entrar para ver información sobre el trabajo (opcional):Enter %%info, and then press Shift+Enter to view the job information (optional):

    PySpark interactivo: ver información de trabajo

La herramienta también admite la consulta Spark SQL:The tool also supports the Spark SQL query:

visualización de resultado de pyspark interactive

Consulta interactiva en el archivo PY con un comentario #%%Perform interactive query in PY file using a #%% comment

  1. Agregue #%% antes del código de Py para obtener la experiencia del cuaderno.Add #%% before the Py code to get notebook experience.

    agregue #%%

  2. Haga clic en Run Cell (Ejecutar celda).Click on Run Cell. En un momento, los resultados de Python Interactive se mostrarán en una pestaña nueva. Haga clic en PySpark para cambiar el kernel a PySpark/Synapse PySpark y luego vuelva a hacer clic en Ejecutar celda para que el código se ejecute correctamente.After a few moments, the Python Interactive results appear in a new tab. Click on PySpark to switch the kernel to PySpark/Synapse PySpark, then, click on Run Cell again, and the code will run successfully.

    ejecución de los resultados de celda

Aprovechar la compatibilidad con IPYNB de la extensión de PythonLeverage IPYNB support from Python extension

  1. Puede crear un comando de Jupyter Notebook en la paleta de comandos o mediante la creación de un nuevo archivo. ipynb en el área de trabajo.You can create a Jupyter Notebook by command from the Command Palette or by creating a new .ipynb file in your workspace. Para más información, consulte Trabajo con cuadernos de Jupyter Notebook en Visual Studio Code.For more information, see Working with Jupyter Notebooks in Visual Studio Code

  2. Haga clic en el botón Run cell (Ejecutar celda), siga las indicaciones para Set the default spark pool (Establecer el grupo de Spark predeterminado) (se recomienda encarecidamente establecer el grupo o clúster predeterminado cada vez antes de abrir un cuaderno) y, a continuación, Reload (Recargar).Click on Run cell button, follow the prompts to Set the default spark pool (strongly encourage to set default cluster/pool every time before opening a notebook) and then, Reload window.

    Establecer el grupo de Spark predeterminado y volver a cargarlo

  3. Haga clic en PySpark para cambiar el kernel a PySpark/Synapse Pyspark y luego haga clic en Ejecutar celda; al cabo de un momento se muestra el resultado.Click on PySpark to switch kernel to PySpark / Synapse Pyspark, and then click on Run Cell, after a while, the result will be displayed.

    ejecución de los resultados de ipynb

Nota

Se ha resuelto el problema "Las versiones de ms-python a partir de 2020.5.78807 no se admiten en esta extensión"."Ms-python >=2020.5.78807 version is not supported on this extension" has been resolved. Actualice ahora ms-python a la versión más reciente.Please update the ms-python to the latest version now.

Enviar trabajo por lotes de PySparkSubmit PySpark batch job

  1. Vuelva a abrir la carpeta HDexample que se trató anteriormente, en caso de que esté cerrada.Reopen the HDexample folder that you discussed earlier, if closed.

  2. Cree un nuevo archivo BatchFile.py siguiendo los pasos anteriores.Create a new BatchFile.py file by following the earlier steps.

  3. Copie y pegue el código siguiente en el archivo de script:Copy and paste the following code into the script file:

    from __future__ import print_function
    import sys
    from operator import add
    from pyspark.sql import SparkSession
    if __name__ == "__main__":
        spark = SparkSession\
            .builder\
            .appName("PythonWordCount")\
            .getOrCreate()
    
        lines = spark.read.text('/HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv').rdd.map(lambda r: r[0])
        counts = lines.flatMap(lambda x: x.split(' '))\
                   .map(lambda x: (x, 1))\
                    .reduceByKey(add)
        output = counts.collect()
        for (word, count) in output:
            print("%s: %i" % (word, count))
        spark.stop()
    
  4. Conéctese a su cuenta de Azure o vincule un clúster si no lo ha hecho aún.Connect to your Azure account, or link a cluster if you haven't yet done so.

  5. Haga clic con el botón derecho en el editor de scripts y, después, seleccione Spark: PySpark Batch (Spark: lote de PySpark) o Synapse: PySpark Batch* (Synapse: lote de PySpark).Right-click the script editor, and then select Spark: PySpark Batch, or **Synapse: PySpark Batch***.

  6. Seleccione un clúster o grupo de Spark para enviar el trabajo de PySpark a:Select a cluster/spark pool to submit your PySpark job to:

    Enviar la salida del resultado del trabajo de Python

Después de enviar trabajo de Python, los registros de envío se muestran en la ventana de SALIDA en Visual Studio Code.After you submit a Python job, submission logs appear in the OUTPUT window in Visual Studio Code. También se muestran la dirección URL de interfaz de usuario de Spark y la dirección URL de interfaz de usuario de Yarn.The Spark UI URL and Yarn UI URL are also shown. Si envía el trabajo por lotes a un grupo de Apache Spark, también se muestran la dirección URL de la interfaz de usuario del historial de Spark y la dirección URL de la interfaz de usuario de la aplicación de trabajo de Spark.If you submit the batch job to an Apache Spark pool, the Spark history UI URL and the Spark Job Application UI URL are also shown. Para realizar un seguimiento del estado del trabajo, puede abrir la URL en un explorador web.You can open the URL in a web browser to track the job status.

Integración con HDInsight Identity Broker (HIB)Integrate with HDInsight Identity Broker (HIB)

Conexión al clúster de HDInsight ESP con el agente de HDInsight Identity Broker (HIB)Connect to your HDInsight ESP cluster with ID Broker (HIB)

Puede seguir los pasos normales para iniciar sesión en la suscripción de Azure para conectarse a su clúster de HDInsight ESP con el agente de HDInsight Identity Broker (HIB).You can follow the normal steps to sign in to Azure subscription to connect to your HDInsight ESP cluster with ID Broker (HIB). Después de iniciar sesión, verá la lista de clústeres en Azure Explorer.After sign-in, you'll see the cluster list in Azure Explorer. Para conocer más instrucciones, consulte Conexión al clúster de HDInsight.For more instructions, see Connect to your HDInsight cluster.

Ejecución de un trabajo de Hive/PySpark en un clúster de HDInsight ESP con el agente de identidad (HIB)Run a Hive/PySpark job on an HDInsight ESP cluster with ID Broker (HIB)

Para ejecutar un trabajo de Hive, puede seguir los pasos normales para enviar el trabajo a un clúster de HDInsight ESP con el agente de identidad (HIB).For run a hive job, you can follow the normal steps to submit job to HDInsight ESP cluster with ID Broker (HIB). Consulte Envío de consultas de Hive interactivas y scripts por lotes de Hive para más instrucciones.Refer to Submit interactive Hive queries and Hive batch scripts for more instructions.

Para ejecutar un trabajo de PySpark interactivo, puede seguir los pasos normales para enviar el trabajo a un clúster de HDInsight ESP con el agente de identidad (HIB).For run a interactive PySpark job, you can follow the normal steps to submit job to HDInsight ESP cluster with ID Broker (HIB). Consulte Enviar consultas de PySpark interactivas para obtener más instrucciones.Refer to Submit interactive PySpark queries for more instructions.

Para ejecutar un trabajo por lotes de PySpark, puede seguir los pasos normales para enviar el trabajo a un clúster de HDInsight ESP con el agente de identidad (HIB).For run a PySpark batch job, you can follow the normal steps to submit job to HDInsight ESP cluster with ID Broker (HIB). Consulte Enviar trabajo por lotes de PySpark para obtener más instrucciones.Refer to Submit PySpark batch job for more instructions.

Configuración de Apache LivyApache Livy configuration

La configuración de Apache Livy es compatible.Apache Livy configuration is supported. Puede configurarla en el archivo .VSCode\settings.json en la carpeta del área de trabajo.You can configure it in the .VSCode\settings.json file in the workspace folder. En la actualidad, la configuración de Livy solo admite el script de Python.Currently, Livy configuration only supports Python script. Para más información, vea el LÉAME de Livy.For more information, see Livy README.

Cómo activar la configuración de LivyHow to trigger Livy configuration

Método 1Method 1

  1. En la barra de menús, vaya a Archivo > Preferencias > Configuración.From the menu bar, navigate to File > Preferences > Settings.
  2. En el cuadro de texto Configuración de la búsqueda escriba HDInsight Job Submission: configuración de Livy.In the Search settings box, enter HDInsight Job Submission: Livy Conf.
  3. Seleccione Editar en settings.json para el resultado de la búsqueda relevante.Select Edit in settings.json for the relevant search result.

Método 2Method 2

Envíe un archivo y observe que la carpeta .vscode se agrega automáticamente a la carpeta de trabajo.Submit a file, and notice that the .vscode folder is automatically added to the work folder. Puede encontrar la configuración de Livy si selecciona .vscode\settings.json.You can see the Livy configuration by selecting .vscode\settings.json.

  • Configuración del proyecto:The project settings:

    Configuración de Apache Livy en HDInsight

    Nota

    Para la configuración de driverMemory y executorMemory, establezca el valor y la unidad.For the driverMemory and executorMemory settings, set the value and unit. Por ejemplo: 1g o 1024m.For example: 1g or 1024m.

  • Configuraciones de Livy admitidas:Supported Livy configurations:

    POST /batchesPOST /batches

    Cuerpo de la solicitudRequest body

    namename descriptiondescription typetype
    archivofile Archivo que contiene la aplicación que se ejecutaráFile containing the application to execute Ruta (obligatorio)Path (required)
    proxyUserproxyUser Usuario que se suplantará al ejecutar el trabajoUser to impersonate when running the job StringString
    classNameclassName Clase principal de Java/Spark de la aplicaciónApplication Java/Spark main class StringString
    argsargs Argumentos de la línea de comandos para la aplicaciónCommand-line arguments for the application Lista de cadenasList of strings
    jarsjars Archivos JAR que se usarán en esta sesiónJars to be used in this session Lista de cadenasList of strings
    pyFilespyFiles Archivos de Python que se usarán en esta sesiónPython files to be used in this session Lista de cadenasList of strings
    filesfiles Archivos que se usarán en esta sesiónFiles to be used in this session Lista de cadenasList of strings
    driverMemorydriverMemory Cantidad de memoria que se usará para el proceso del controladorAmount of memory to use for the driver process StringString
    driverCoresdriverCores Número de núcleos que se usarán para el proceso del controladorNumber of cores to use for the driver process IntInt
    executorMemoryexecutorMemory Cantidad de memoria que se usará por proceso de ejecutorAmount of memory to use per executor process StringString
    executorCoresexecutorCores Número de núcleos que se usará para cada ejecutorNumber of cores to use for each executor IntInt
    numExecutorsnumExecutors Número de ejecutores que se iniciarán para esta sesiónNumber of executors to launch for this session IntInt
    archivesarchives Archivos que se usarán en esta sesiónArchives to be used in this session Lista de cadenasList of strings
    colaqueue El nombre de la cola YARN a la que se enviaráName of the YARN queue to be submitted to StringString
    namename Nombre de esta sesiónName of this session StringString
    confconf Propiedades de configuración de SparkSpark configuration properties Mapa de clave=valorMap of key=val

    Cuerpo de respuesta El objeto Batch creado.Response body The created Batch object.

    namename descriptiondescription typetype
    idID Identificador de sesiónSession ID IntInt
    appIdappId Id. de aplicación de esta sesiónApplication ID of this session StringString
    appInfoappInfo Información detallada de la aplicaciónDetailed application info Mapa de clave=valorMap of key=val
    loglog Líneas de registroLog lines Lista de cadenasList of strings
    statestate Estado del loteBatch state StringString

    Nota

    La configuración de Livy asignada se muestra en el panel de salida al enviar el script.The assigned Livy config is displayed in the output pane when you submit the script.

Integración con Azure HDInsight desde el exploradorIntegrate with Azure HDInsight from Explorer

Puede obtener una vista previa de la tabla de Hive directamente en los clústeres a través del explorador de Azure HDInsight:You can preview Hive Table in your clusters directly through the Azure HDInsight explorer:

  1. Conéctese a su cuenta de Azure si no lo ha hecho aún.Connect to your Azure account if you haven't yet done so.

  2. Seleccione el icono Azure de la columna situada en el extremo izquierdo.Select the Azure icon from leftmost column.

  3. En el panel izquierdo, expanda AZURE: HDINSIGHT.From the left pane, expand AZURE: HDINSIGHT. Aparecen las suscripciones y clústeres disponibles.The available subscriptions and clusters are listed.

  4. Expanda el clúster para ver el esquema de base de datos y tablas de metadatos de Hive.Expand the cluster to view the Hive metadata database and table schema.

  5. Haga clic con el botón derecho en la tabla de Hive.Right-click the Hive table. Por ejemplo: hivesampletable.For example: hivesampletable. Seleccione Vista previa.Select Preview.

    Tabla de Hive con la vista previa de Hive y Spark para Visual Studio Code

  6. Se abre la ventana Vista previa de resultados:The Preview Results window opens:

    Ventana de resultados con la vista previa de Hive y Spark para Visual Studio Code

  • Panel RESULTADOSRESULTS panel

    Puede guardar todo el resultado en forma de archivo CSV, JSON o Excel en una ruta de acceso local, o bien seleccionar únicamente varias líneas.You can save the whole result as a CSV, JSON, or Excel file to a local path, or just select multiple lines.

  • Panel MENSAJESMESSAGES panel

    1. Cuando el número de filas de la tabla es superior a 100, aparece un mensaje que informa de que se muestran las 100 primeras filas de la tabla de Hive.When the number of rows in the table is greater than 100, you see the following message: "The first 100 rows are displayed for Hive table."

    2. Cuando el número de filas de la tabla es menor o igual a 100, aparece el siguiente mensaje: se muestran 60 filas de la tabla de Hive.When the number of rows in the table is less than or equal to 100, you see the following message: "60 rows are displayed for Hive table."

    3. Cuando no haya contenido en la tabla, verá el siguiente mensaje: "0 rows are displayed for Hive table."When there's no content in the table, you see the following message: "0 rows are displayed for Hive table."

      Nota

      En Linux, instale xclip para permitir la copia de datos de tabla.In Linux, install xclip to enable copy-table data.

      Hive y Spark para Visual Studio Code en Linux

Características adicionalesAdditional features

Hive y Spark para Visual Studio Code admite también las siguientes características:Spark & Hive for Visual Studio Code also supports the following features:

  • Autocompletar de IntelliSense.IntelliSense autocomplete. Aparecen sugerencias para palabras clave, métodos, variables y otros elementos de programación.Suggestions pop up for keywords, methods, variables, and other programming elements. Los distintos iconos representan diferentes tipos de objetos:Different icons represent different types of objects:

    Objetos de IntelliSense de Spark & Hive Tools para Visual Studio Code

  • Marcador de error de IntelliSense.IntelliSense error marker. El servicio de lenguaje subraya los errores de edición del script de Hive.The language service underlines editing errors in the Hive script.

  • Sintaxis resaltada.Syntax highlights. El servicio de lenguaje usa colores diferentes para diferenciar variables, palabras clave, tipos de datos, funciones y otros elementos de programación:The language service uses different colors to differentiate variables, keywords, data type, functions, and other programming elements:

    Sintaxis resaltada de Spark & Hive Tools para Visual Studio Code

Rol de solo lecturaReader-only role

Los usuarios a los que se haya asignado el rol de solo lector para el clúster ya no pueden enviar trabajos al clúster de HDInsight ni pueden ver la base de datos de Hive.Users who are assigned the reader-only role for the cluster can't submit jobs to the HDInsight cluster, nor view the Hive database. Póngase en contacto con el administrador de clústeres para actualizar el rol a operador de clústeres de HDInsight en Azure Portal.Contact the cluster administrator to upgrade your role to HDInsight Cluster Operator in the Azure portal. Si tiene credenciales de Ambari válidas, puede vincular manualmente el clúster siguiendo estas instrucciones.If you have valid Ambari credentials, you can manually link the cluster by using the following guidance.

Examen del clúster de HDInsightBrowse the HDInsight cluster

Al seleccionar el explorador de Azure HDInsight para expandir un clúster de HDInsight, se le pedirá que vincule el clúster si tiene el rol de solo lector en el clúster.When you select the Azure HDInsight explorer to expand an HDInsight cluster, you're prompted to link the cluster if you have the reader-only role for the cluster. Use el método siguiente para vincular al clúster con sus credenciales de Ambari.Use the following method to link to the cluster by using your Ambari credentials.

Envío del trabajo al clúster de HDInsightSubmit the job to the HDInsight cluster

Al enviar un trabajo al clúster de HDInsight, se le pide que vincule el clúster si tiene el rol de solo lector en el clúster.When submitting job to an HDInsight cluster, you're prompted to link the cluster if you're in the reader-only role for the cluster. Siga estos pasos para vincular al clúster con sus credenciales de Ambari.Use the following steps to link to the cluster by using Ambari credentials.

  1. Escriba un nombre de usuario de Ambari válido.Enter a valid Ambari username.

  2. Escriba una contraseña válida.Enter a valid password.

    Nombre de usuario de Spark & Hive Tools para Visual Studio Code

    Contraseña de Spark & Hive Tools para Visual Studio Code

    Nota

    Puede usar Spark / Hive: List Cluster para comprobar el clúster vinculado:You can use Spark / Hive: List Cluster to check the linked cluster:

    Lector vinculado de Spark & Hive Tools para Visual Studio Code

Azure Data Lake Storage Gen2Azure Data Lake Storage Gen2

Examen de una cuenta de Data Lake Storage Gen2Browse a Data Lake Storage Gen2 account

Seleccione el explorador de Azure HDInsight para expandir una cuenta de Data Lake Storage Gen2.Select the Azure HDInsight explorer to expand a Data Lake Storage Gen2 account. Se le pedirá que especifique la clave de acceso de almacenamiento si su cuenta de Azure no tiene acceso al almacenamiento de Gen2.You're prompted to enter the storage access key if your Azure account has no access to Gen2 storage. Una vez validada la clave de acceso, la cuenta de Data Lake Storage Gen2 se expande automáticamente.After the access key is validated, the Data Lake Storage Gen2 account is auto-expanded.

Envío de trabajos a un clúster de HDInsight con Data Lake Storage Gen2Submit jobs to an HDInsight cluster with Data Lake Storage Gen2

Envíe un trabajo a un clúster de HDInsight con Data Lake Storage Gen2.Submit a job to an HDInsight cluster using Data Lake Storage Gen2. Se le pedirá que especifique la clave de acceso de almacenamiento si su cuenta de Azure no tiene acceso de escritura al almacenamiento de Gen2.You're prompted to enter the storage access key if your Azure account has no write access to Gen2 storage. El trabajo se enviará sin problemas una vez validada correctamente la clave de acceso.After the access key is validated, the job will be successfully submitted.

Clave de acceso de Spark & Hive Tools para Visual Studio Code

Nota

Puede obtener la clave de acceso de la cuenta de almacenamiento desde Azure Portal.You can get the access key for the storage account from the Azure portal. Para más información, consulte Administración de las claves de acceso de la cuenta de almacenamiento.For more information, see Manage storage account access keys.

  1. En la barra de menús, vaya a Vista > Paleta de comandos y escriba Spark / Hive: desvincular un clúster.From the menu bar, go to View > Command Palette, and then enter Spark / Hive: Unlink a Cluster.

  2. Seleccione el clúster que desea desvincular.Select a cluster to unlink.

  3. Revise la vista SALIDA para comprobarlo todo.See the OUTPUT view for verification.

Cerrar sesiónSign out

En la barra de menús, vaya a Vista > Paleta de comandos y escriba Azure: Sign Out (Cerrar sesión).From the menu bar, go to View > Command Palette, and then enter Azure: Sign Out.

Incidencias modificadasIssues Changed

Se ha resuelto la incidencia "Las versiones de ms-python a partir de 2020.5.78807 no se admiten en esta extensión", actualice ahora ms-python a la versión más reciente.For this issue "ms-python >=2020.5.78807 version is not supported on this extension" has been resolved, please update the ms-python to the latest version now.

Pasos siguientesNext steps

Para ver un vídeo de demostración del uso de Spark y Hive para Visual Studio Code, consulte Spark y Hive para Visual Studio Code.For a video that demonstrates using Spark & Hive for Visual Studio Code, see Spark & Hive for Visual Studio Code.