Resumen
¿Cómo desarrollar una aplicación PySpark en el navegador y ejecutarla en OCI Data Flow?
El tutorial prepara la autenticación OCI y Spark en Cloud Shell, crea un proyecto en Code Editor y utiliza Spark Oracle Datasource para leer una tabla de Oracle Autonomous Database. El wallet se almacena en OCI Object Storage y la aplicación configura los datos de conexión a la base.
Primero se prueba el script en Cloud Shell con Run Locally y se revisan los cinco primeros registros. Después se sube el artefacto Python a Object Storage y se crea una aplicación en Data Flow para ejecutarlo con recursos administrados.
Se configura Resource Principal para el acceso a recursos de OCI, conservando las credenciales de base de datos del ejemplo. Tras la ejecución en Data Flow se revisan las etapas y el DAG en Spark UI para comprender las dependencias del trabajo.
Inicio
Se presenta OCI Data Flow para ejecutar aplicaciones de procesamiento distribuido y Code Editor para desarrollarlas desde el navegador. El recorrido prepara el entorno, construye una aplicación PySpark que lee una tabla de Autonomous, la prueba localmente y la publica para ejecutarla en Data Flow. Al final se utiliza Spark UI para revisar el trabajo.
Requisitos y autenticación para Code Editor
Se revisan los prerrequisitos de Code Editor y Cloud Shell, incluidas las políticas de acceso, la configuración de usuario OCI y las herramientas del entorno Spark. El expositor prepara una API Key, descarga su clave y conserva la vista previa de configuración para utilizarla en los siguientes pasos.
Crear el proyecto en Code Editor
Desde Data Flow se abre Code Editor y se crea un proyecto desde cero. Se define su nombre, se localiza en el compartment seleccionado y se abre su terminal. El proyecto proporciona el espacio de trabajo desde el que se prepararán las credenciales y el archivo Python.
Configurar las credenciales de OCI
Se prepara el archivo de configuración OCI con los valores del perfil y la ruta de la clave privada. Los archivos se sitúan en la carpeta de configuración del directorio del usuario y se comprueba que el perfil pueda leerse correctamente. Después se retiran las copias de configuración y clave que se habían creado dentro del proyecto.
Preparar Spark en Cloud Shell
Se presenta el script que configura Spark en Cloud Shell para trabajar con Data Flow. El expositor indica que su entorno ya está preparado; la configuración debe completarse antes de ejecutar la aplicación. Este paso enlaza la autenticación de OCI con las herramientas de procesamiento que utilizará el proyecto.
Crear la aplicación PySpark con Spark Oracle Datasource
Se crea un archivo Python y se inicia una sesión Spark con PySpark. Desde los ejemplos de Oracle se toma la lectura de Autonomous mediante Spark Oracle Datasource con un wallet en Object Storage. Se revisa la opción que habilita ese conector y se adapta el código para la conexión del ejemplo.
Wallet de Autonomous Database en Object Storage
Se descarga el wallet desde Autonomous y se carga en un bucket de Object Storage. En el script se completan el nombre del archivo, el namespace y el bucket, junto con el identificador de conexión, el esquema y la tabla. También se configuran el usuario y la contraseña de la base, y se prepara la visualización de los cinco primeros registros.
Prueba local con Run Locally
En Code Editor se selecciona Run Locally, el lenguaje Python y el archivo de la aplicación. Se habilita Spark Oracle Datasource y se inicia la prueba en Cloud Shell. El archivo de log muestra los cinco primeros registros de la tabla, permitiendo comprobar la lectura antes de crear la ejecución administrada en Data Flow.
Publicar el artefacto en Object Storage
Se utiliza Upload Artifact desde el proyecto para subir la aplicación Python. Se indica la ruta del bucket de Object Storage donde se guardará el script y después se actualiza la vista del bucket para verificar que el archivo esté disponible. Ese artefacto será la entrada de la aplicación de Data Flow.
Crear la aplicación en OCI Data Flow
Se crea una aplicación de Data Flow con nombre, versión de Spark y lenguaje Python. En el ejemplo se mantienen las configuraciones de driver y executor por defecto. Se seleccionan el bucket y la ruta del script publicado y se configura el destino de los logs antes de revisar las opciones avanzadas.
Autenticación con Resource Principal
En las opciones avanzadas se habilita Resource Principal y la propiedad de Spark Oracle Datasource. Resource Principal aporta autenticación para acceder a recursos de OCI desde la ejecución. La conexión a Autonomous utiliza además el wallet y las credenciales de base de datos configurados en el ejemplo. Con estas opciones se completa la creación de la aplicación.
Ejecutar la aplicación en Data Flow
Se selecciona Run para iniciar la aplicación administrada. Data Flow aprovisiona los recursos del clúster Spark y ejecuta el script publicado. Se espera a que termine el trabajo antes de abrir sus herramientas de seguimiento. Esta etapa corresponde a la ejecución en Data Flow, posterior a la prueba local en Cloud Shell.
Spark UI y visualización del DAG
Al finalizar se abre Spark UI y se examinan las etapas del trabajo. La visualización del DAG representa dependencias entre etapas y tareas, ayudando a revisar cómo se procesa el conjunto de datos distribuido. El cierre relaciona esta vista con el análisis y la depuración de aplicaciones Spark desarrolladas desde Code Editor.