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.
SE APLICA A:
Azure Data Factory
Azure Synapse Analytics
Sugerencia
Data Factory en Microsoft Fabric es la próxima generación de Azure Data Factory, con una arquitectura más sencilla, inteligencia artificial integrada y nuevas características. Si no está familiarizado con la integración de datos, comience con Fabric Data Factory. Las cargas de trabajo de ADF existentes pueden actualizarse a Fabric para acceder a nuevas funcionalidades en ciencia de datos, análisis en tiempo real e informes.
En este tutorial, usa el portal de Azure para crear una canalización de Azure Data Factory. Esta canalización permite transformar datos mediante una actividad de Spark y un servicio vinculado de Azure HDInsight a petición.
En este tutorial, realizará los siguientes pasos:
- Creación de una factoría de datos.
- Crear una canalización que utilice una actividad de Spark.
- Desencadenamiento de una ejecución de la canalización
- Supervisión de la ejecución de la canalización
Si no tiene una suscripción de Azure, cree una cuenta free antes de comenzar.
Requisitos previos
Nota:
Se recomienda usar el módulo Az de PowerShell de Azure para interactuar con Azure. Para empezar, consulte Install Azure PowerShell. Para obtener información sobre cómo migrar al módulo Az PowerShell, consulte Migrate Azure PowerShell de AzureRM a Az.
- Cuenta de almacenamiento de Azure. Cree un script de Python y un archivo de entrada y los cargue en Azure Storage. La salida del programa Spark se almacena en esta cuenta de almacenamiento. El clúster de Spark a petición usa la misma cuenta de almacenamiento que el almacenamiento principal.
Nota:
HdInsight admite solo cuentas de almacenamiento de uso general con nivel estándar. Asegúrese de que la cuenta no sea una cuenta de almacenamiento solo Premium o de blobs.
- Azure PowerShell. Siga las instrucciones de Cómo instalar y configurar Azure PowerShell.
Carga del script de Python en la cuenta de Blob Storage
Cree un archivo Python denominado WordCount_Spark.py con el siguiente contenido:
import sys from operator import add from pyspark.sql import SparkSession def main(): spark = SparkSession\ .builder\ .appName("PythonWordCount")\ .getOrCreate() lines = spark.read.text("wasbs://adftutorial@<storageaccountname>.blob.core.windows.net/spark/inputfiles/minecraftstory.txt").rdd.map(lambda r: r[0]) counts = lines.flatMap(lambda x: x.split(' ')) \ .map(lambda x: (x, 1)) \ .reduceByKey(add) counts.saveAsTextFile("wasbs://adftutorial@<storageaccountname>.blob.core.windows.net/spark/outputfiles/wordcount") spark.stop() if __name__ == "__main__": main()Reemplace <storageAccountName> por el nombre de la cuenta de almacenamiento de Azure. A continuación, guarde el archivo.
En Azure Blob Storage, cree un contenedor denominado adftutorial si no existe.
Cree una carpeta llamada spark.
Cree una subcarpeta denominada script en la carpeta spark.
Cargue el archivo WordCount_Spark.py a la subcarpeta script.
Carga del archivo de entrada
- Cree un archivo denominado minecraftstory.txt con algo de texto. El programa Spark contará el número de palabras de este texto.
- Cree una subcarpeta denominada inputfiles en la carpeta spark.
- Cargue el archivo minecraftstory.txt en la subcarpeta inputfiles.
Crear una factoría de datos
Siga los pasos del artículo Quickstart: Creación de una factoría de datos mediante el portal de Azure para crear una factoría de datos si aún no tiene una con la que trabajar.
Crear servicios vinculados
En esta sección, deberá crear dos servicios vinculados:
- Un servicio vinculado de Azure Storage que vincula una cuenta de almacenamiento de Azure a la fábrica de datos. Este almacenamiento lo usa el clúster HDInsight a petición. También contiene el script de Spark que se ejecutará.
- Un servicio HDInsight conectado bajo demanda. Azure Data Factory crea automáticamente un clúster de HDInsight y ejecuta el programa Spark. A continuación, elimina el clúster de HDInsight si el clúster está inactivo durante un tiempo configurado previamente.
Creación de un servicio vinculado de Azure Storage
En la página principal, cambie a la pestaña Administrar del panel de la izquierda.
Seleccione Connections (Conexiones) en la parte inferior de la ventana y seleccione + New (+ Nuevo).
En la ventana Nuevo servicio vinculado, seleccione Data Store>Azure Blob Storage y seleccione Continue.
En Storage account name (Nombre de la cuenta de almacenamiento), seleccione el nombre de la lista y, a continuación, seleccione Save (Guardar).
Creación de un servicio vinculado de HDInsight a petición
Seleccione el botón + New (+ Nuevo) una vez más para crear otro servicio vinculado.
En la ventana New Linked Service, seleccione Compute>Azure HDInsight y seleccione Continue.
En la ventana New Linked Service (Nuevo servicio vinculado), realice los pasos siguientes:
a. Escriba AzureHDInsightLinkedService como nombre.
b. Confirme que On-demand HDInsight (HDInsight a petición) está seleccionado en tipo.
c. Para el Servicio vinculado de Azure Storage, seleccione AzureBlobStorage1. Este servicio vinculado lo creó anteriormente. Si usó un nombre diferente, especifique el nombre correcto aquí.
d. Seleccione spark como tipo de clúster.
e. Para el identificador de la entidad de servicio, ingrese el ID de la entidad de servicio que tiene permiso para crear un clúster de HDInsight.
Esta entidad de servicio debe ser miembro del rol de colaborador de la suscripción o del grupo de recursos en el que se crea el clúster. Para más información, consulte Creación de una aplicación de Microsoft Entra y una entidad de servicio con acceso a los recursos. El Id. de entidad de servicio es equivalente al Id. de aplicación y una Clave de entidad de servicio es equivalente al valor de un Secreto de cliente.
f. Escriba la clave de la entidad de servicio.
g. Seleccione el mismo grupo de recursos que utilizó al crear la factoría de datos en Grupo de recursos. El clúster de Spark se crea en este grupo de recursos.
h. Expandir OS type.
i. Escriba un nombre para Cluster user name (Nombre de usuario del clúster).
j. Escriba la Cluster password para el usuario.
k. Seleccione Finalizar.
Nota:
Azure HDInsight limita el número total de núcleos que puede usar en cada región de Azure que admita. Para el servicio vinculado de HDInsight a petición, el clúster de HDInsight se creará en la misma ubicación de Azure Storage que se usó como almacenamiento principal. Asegúrese de que dispone de suficientes cuotas de núcleos para que el clúster pueda crearse correctamente. Para obtener más información, consulte Configuración de clústeres en HDInsight con Hadoop, Spark, Kafka, etc.
Crear una canalización
Seleccione el botón + (más) y luego seleccione Pipeline en el menú.
En el cuadro de herramientas Activities (Actividades), expanda HDInsight. Arrastre la actividad de Spark del cuadro de herramientas Activities (Actividades) a la superficie del diseñador de canalizaciones.
En las propiedades de la ventana de la actividad de Spark de la parte inferior, realice los pasos siguientes:
a. Cambiar a la pestaña HDI Cluster.
b. Seleccione el servicio AzureHDInsightLinkedService que creó en el procedimiento anterior.
Cambie a la pestaña Script/Jar y complete los pasos siguientes:
a. Seleccione AzureBlobStorage1 como servicio vinculado de trabajo.
b. Seleccione Browse Storage (Examinar almacenamiento).
c. Vaya a la carpeta adftutorial/spark/script , seleccione WordCount_Spark.py y seleccione Finalizar.
Para comprobar la canalización, seleccione el botón Validate (Comprobar) en la barra de herramientas. Seleccione el botón >> (flecha derecha) para cerrar la ventana de comprobación.
Seleccione Publish All (Publicar todo). La interfaz de usuario de Data Factory publica entidades (servicios vinculados y canalización) en el servicio Azure Data Factory.
Desencadenamiento de una ejecución de la canalización
Seleccione Add Trigger (Agregar desencadenador) en la barra de herramientas y, después, seleccione Trigger Now (Desencadenar ahora).
Supervisión de la ejecución de la canalización
Cambie a la pestaña Monitor. Confirme que ve una ejecución de canalización. Se tardan veinte minutos aproximadamente en crear un clúster de Spark.
Seleccione Actualizar periódicamente para comprobar el estado de la ejecución de canalización.
Para ver las ejecuciones de actividad asociadas con la ejecución de esta canalización, seleccione Ver ejecuciones de actividad de la columna Acciones.
Puede volver a la vista de ejecuciones de canalización. Para ello seleccione el vínculo All Pipeline Runs (Todas las ejecuciones de canalizaciones) en la parte superior.
Comprobación del resultado
Compruebe que se crea el archivo de salida en la carpeta spark/otuputfiles/wordcount del contenedor adftutorial.
El archivo debe incluir todas las palabras del archivo de texto de entrada y el número de veces que cada palabra aparecía en el archivo. Por ejemplo:
(u'This', 1)
(u'a', 1)
(u'is', 1)
(u'test', 1)
(u'file', 1)
Contenido relacionado
La canalización de este ejemplo permite transformar datos mediante una actividad de Spark y un servicio vinculado de HDInsight a petición. Ha aprendido a:
- Creación de una factoría de datos.
- Crear una canalización que utilice una actividad de Spark.
- Desencadenamiento de una ejecución de la canalización
- Supervisión de la ejecución de la canalización
Para aprender a transformar datos mediante la ejecución de un script de Hive en un clúster de Azure HDInsight que se encuentra en una red virtual, pase al siguiente tutorial: