Utilice un nodo ADB Spark en DataWorks para desarrollar, programar periódicamente e integrar tareas de AnalyticDB Spark con otros trabajos. Este tema describe el flujo de trabajo principal para desarrollar tareas mediante un nodo ADB Spark.
Contexto
ADB Spark es un motor de cómputo dentro del servicio AnalyticDB diseñado para ejecutar tareas de procesamiento de datos a gran escala con Apache Spark. Admite análisis de datos en tiempo real, consultas complejas y aplicaciones de aprendizaje automático. Al ser compatible con Java, Scala y Python, simplifica el desarrollo y escala automáticamente para optimizar el rendimiento y los costos. Puede configurar las tareas cargando los archivos Jar o .py correspondientes. ADB Spark es ideal para diversas industrias que necesitan procesar conjuntos de datos masivos de manera eficiente y obtener información en tiempo real. Esto ayuda a las empresas a extraer información valiosa de sus datos para impulsar el crecimiento del negocio.
Requisitos previos
Requisitos previos de AnalyticDB for MySQL:
Debe haber creado un clúster de AnalyticDB for MySQL Basic Edition en la misma región que su espacio de trabajo de DataWorks. Para más información, consulte Create a cluster.
-
Debe haber configurado un resource group de trabajos en su clúster de AnalyticDB for MySQL. Para más información, consulte Create a job resource group.
NotaCuando utilice DataWorks para desarrollar aplicaciones Spark, debe crear un resource group de trabajos.
Si utiliza OSS para almacenamiento, asegúrese de que el bucket de OSS se encuentre en la misma región que su clúster de AnalyticDB for MySQL.
Requisitos previos de DataWorks:
Debe contar con un espacio de trabajo que tenga seleccionada la opción Use Data Studio (New Version) y un resource group vinculado. Para más información, consulte Create a workspace.
El resource group debe estar en la misma VPC que el clúster de AnalyticDB for MySQL, y debe agregar IP addresses of the resource group a la lista de permitidos del clúster de AnalyticDB for MySQL. Para más información, consulte Configure a whitelist.
Debe haber agregado su instancia de clúster de AnalyticDB for MySQL a DataWorks como motor de cómputo. El tipo de motor de cómputo debe ser AnalyticDB for Spark. DataWorks prueba la conectividad del motor de cómputo mediante el resource group. Para más información, consulte Bind a compute engine.
Debe haber creado una carpeta de flujo de trabajo. Para más información, consulte Workflow folder.
Debe haber creado un nodo ADB Spark. Para más información, consulte Create a node for a workflow.
Paso 1: Desarrollar el nodo ADB Spark
En el editor del nodo ADB Spark, puede configurar el contenido del nodo según el tipo de Language seleccionado, utilizando el paquete de ejemplo spark-examples_2.12-3.2.0.jar o el archivo spark_oss.py. Para más información sobre cómo desarrollar el contenido del nodo, consulte Develop a Spark application by using the spark-submit command-line tool.
Java y Scala
Preparar el archivo JAR
Debe cargar el paquete JAR de ejemplo en OSS. El nodo requiere este paquete para ejecutar la tarea.
-
Prepare el paquete JAR de ejemplo.
Descargue el paquete JAR de ejemplo spark-examples_2.12-3.2.0.jar para utilizarlo en el nodo ADB Spark.
-
Cargue el código de ejemplo en OSS.
Inicie sesión en la consola de OSS. En el panel de navegación izquierdo, haga clic en Buckets.
-
En la página Buckets, haga clic en Create Bucket. En el panel Create Bucket, cree un bucket en la misma región que su clúster de AnalyticDB for MySQL.
NotaEste tema utiliza como ejemplo un bucket llamado
dw-1127. -
Cree un directorio de almacenamiento externo.
Una vez completada la creación, haga clic en Go to Bucket. En la página Files, haga clic en Create Directory y establezca Catalog Name como
db_home. Cargue el archivo de código de ejemplo
spark-examples_2.12-3.2.0.jaren el directoriodb_home. Para más información, consulte Upload objects.
Configurar el nodo ADB Spark
Configure el contenido del nodo ADB Spark según las siguientes descripciones de parámetros.
|
Lenguaje |
Parámetro |
Descripción |
|
Java/Scala |
Main JAR Resource |
La ruta de OSS al paquete JAR. Ejemplo: |
|
Main Class |
La clase principal en su paquete JAR compilado. El nombre de la clase principal en el código de ejemplo es |
|
|
Parameter |
Los argumentos que se pasarán a su código. Puede configurar este campo con parámetros dinámicos en formato Nota
En este ejemplo, el parámetro dinámico |
|
|
Configuration Item |
Los parámetros de ejecución del programa Spark. Para más información, consulte Spark application configuration parameters. Ejemplo:
|
Python
Preparar el archivo Python y los datos
Siga estos pasos para cargar el archivo de datos de prueba y el código de ejemplo en OSS. Esto permite que el código de ejemplo en la configuración del nodo lea el archivo de datos de prueba.
-
Prepare los datos de prueba.
Cree un archivo llamado
data.txty agregue el siguiente contenido.Hello,Dataworks Hello,OSS -
Escriba el código de ejemplo.
Cree un archivo llamado
spark_oss.pyy agregue el siguiente contenido al archivospark_oss.py.import sys from pyspark.sql import SparkSession # Initialize Spark. spark = SparkSession.builder.appName('OSS Example').getOrCreate() # Read the specified file. The file path is specified by the value of the argument passed to the job. textFile = spark.sparkContext.textFile(sys.argv[1]) # Calculate and print the number of lines in the file. print("File total lines: " + str(textFile.count())) # Print the first line of the file. print("First line is: " + textFile.first()) -
Cargue los datos de prueba y el código de ejemplo en OSS.
Inicie sesión en la consola de OSS. En el panel de navegación izquierdo, haga clic en Buckets.
-
En la página Buckets, haga clic en Create Bucket. En el panel Create Bucket, cree un bucket en la misma región que su clúster de AnalyticDB for MySQL.
NotaEste tema utiliza como ejemplo un bucket llamado
dw-1127. -
Cree un directorio de almacenamiento externo.
Una vez completada la creación, haga clic en Enter Bucket. En la página Files, haga clic en Create Directory y establezca Catalog Name como
db_home. Cargue el archivo de datos de prueba
data.txty el archivo de código de ejemplospark_oss.pyen el directoriodb_home. Para más información, consulte Upload objects.
Configurar el nodo ADB Spark
Configure el contenido del nodo ADB Spark según las siguientes descripciones de parámetros.
|
Lenguaje |
Parámetro |
Descripción |
|
Python |
Main Package |
La ruta al archivo de código de ejemplo. Ejemplo: |
|
Parameter |
Los argumentos que se pasarán a su código. Para este ejemplo, utilice la ruta de almacenamiento del archivo de datos de prueba. Ejemplo: |
|
|
Configuration Item |
Los parámetros de ejecución del programa Spark. Para más información, consulte Spark application configuration parameters. Ejemplo:
|
Paso 2: Depurar el nodo ADB Spark
-
Configure las propiedades de depuración del nodo ADB Spark.
En el panel Run Configuration ubicado en el lado derecho del editor de nodos, configure los parámetros Compute Resource, ADB Computing Resource Group, Resource Group y Compute Units.
Tipo de parámetro
Parámetro
Descripción
Compute Resource
Compute Resource
Seleccione el motor de cómputo AnalyticDB for Spark vinculado.
ADB Computing Resource Group
Seleccione el resource group de trabajos que creó en el clúster de AnalyticDB for MySQL. Para más información, consulte Resource group overview.
Resource Group
Resource Group
Seleccione el resource group que pasó la prueba de conectividad cuando vinculó el motor de cómputo.
Compute Units
Este nodo utiliza el número predeterminado de CU. No es necesario modificar este valor.
-
Depure y ejecute el nodo ADB Spark.
Para ejecutar la tarea del nodo, haga clic en Save y luego en Run.
Paso 3: Programar el nodo ADB Spark
-
Configure las propiedades de programación del nodo ADB Spark.
Para ejecutar la tarea del nodo periódicamente, abra el panel Scheduling Settings en el lado derecho del editor de nodos. En la sección Scheduling Policy, configure los siguientes parámetros según sea necesario. Para más información sobre otros parámetros, consulte Configure scheduling for a node.
Parámetro
Descripción
Compute Resource
Seleccione el motor de cómputo AnalyticDB for Spark vinculado.
ADB Computing Resource Group
Seleccione el resource group de trabajos que creó en el clúster de AnalyticDB for MySQL. Para más información, consulte Resource group overview.
Resource Group
Seleccione el resource group que pasó la prueba de conectividad cuando vinculó el motor de cómputo.
Compute Units
Este nodo utiliza el número predeterminado de CU. No es necesario modificar este valor.
-
Publique el nodo ADB Spark.
Después de configurar la tarea del nodo, debe publicarlo. Para más información, consulte Publish a node or workflow.
Siguientes pasos
Después de publicar la tarea, puede consultar su estado de ejecución en Operation Center. Para más información, consulte Getting started with Operation Center.