Este tema explica cómo desplegar e iniciar trabajos de PyFlink por lotes y de streaming, y abarca el flujo de trabajo de desarrollo en Realtime Compute for Apache Flink.
Requisitos previos
Si utiliza un usuario de RAM o un rol de RAM para acceder a la consola, asegúrese de que la identidad tenga los permisos obligatorios. Para obtener más información, consulte Permission Management.
Se ha creado un espacio de trabajo. Para obtener más información, consulte Activate Realtime Compute for Apache Flink.
Paso 1: Preparar archivos de código Python
La consola de administración de Realtime Compute for Apache Flink no proporciona un entorno de desarrollo de Python. Desarrolle sus trabajos localmente. Para obtener más información sobre la depuración de trabajos y conectores, consulte Develop PyFlink jobs.
Asegúrese de que la versión de Flink para el desarrollo local coincida con la versión del motor que seleccione en Step 3: Deploy a PyFlink job. Para obtener información sobre cómo usar otras dependencias, como entornos virtuales personalizados de Python, paquetes de Python de terceros, paquetes JAR y archivos de datos, consulte Use Python dependencies.
Para ayudarle a comenzar rápidamente, este tema proporciona archivos de Python de ejemplo para un trabajo de conteo de palabras y un archivo de datos de muestra. Puede descargarlos y utilizarlos en los siguientes pasos.
-
Descargue el archivo de trabajo de Python de ejemplo correspondiente.
Trabajo de streaming: word_count_streaming.py.
Trabajo por lotes: word_count_batch.py.
Haga clic en Shakespeare para descargar el archivo de datos de ejemplo.
Paso 2: Cargar archivos de Python y de datos
Inicie sesión en la consola de Realtime Compute.
Busque el espacio de trabajo de Flink deseado y haga clic en Console en la columna Actions.
En el panel de navegación izquierdo, haga clic en Artifacts.
-
Haga clic en Upload Artifact para cargar los archivos de Python y de datos.
Cargue los archivos de Python y de datos de ejemplo que descargó en el paso 1. Para obtener más información sobre las rutas de almacenamiento de archivos, consulte Artifacts.
Paso 3: Desplegar un trabajo de PyFlink
Streaming
En la página , haga clic en .
-
Configure los parámetros del despliegue.
Parámetro
Descripción
Ejemplo
Deployment mode
Seleccione el modo de streaming.
stream mode
Deployment name
Introduzca un nombre para el despliegue de Python.
flink-streaming-test-python
Engine version
Versión del motor Flink para el despliegue.
Se recomienda utilizar una versión con la etiqueta RECOMMENDED o STABLE para mejorar la fiabilidad y el rendimiento. Para obtener más información, consulte Release Notes y Engine Versions.
vvr-8.0.9-flink-1.17
Python URI
Descargue el archivo de ejemplo word_count_streaming.py. A continuación, haga clic en el icono de carga
para seleccionar y cargar el archivo.Si el archivo ya existe en Artifacts, puede seleccionarlo directamente sin volver a cargarlo.
-
Entry module
Módulo de punto de entrada del programa.
-
Este parámetro no es obligatorio si el trabajo de PyFlink es un archivo .py.
-
Si el trabajo de PyFlink es un archivo .zip, debe introducir el módulo de entrada. Ejemplo:
word_count.
No obligatorio
Entry point main arguments
Argumentos que se pasan al método principal.
Para este tutorial, introduzca la ruta de almacenamiento del archivo de datos de entrada, Shakespeare.
--input oss://<Your-OSS-Bucket-Name>/artifacts/namespaces/<Your-Workspace-Name>/ShakespearePuede copiar la ruta completa del archivo Shakespeare desde la página Artifacts.
Deployment target
En la lista desplegable, seleccione la Resource Queue o el session cluster de destino. No se recomienda usar clústeres de sesión en producción. Para obtener más información, consulte Manage queues y Create a session cluster.
ImportanteLos despliegues en un clúster de sesión no admiten métricas de monitoreo, configuración de alertas ni Autopilot. Utilice los clústeres de sesión solo para desarrollo y pruebas; no los use en entornos de producción. Para obtener más información, consulte Debug deployments.
default-queue
Para obtener más información sobre otros parámetros de configuración, consulte Deploy a job.
-
Haga clic en Deploy.
Batch
En la página , haga clic en Create Deployment y seleccione Python Deployment.
-
Configure los parámetros del despliegue.
Parámetro
Descripción
Ejemplo
Deployment mode
Seleccione el modo por lotes.
batch mode
Deployment name
Introduzca un nombre para el despliegue de Python.
flink-batch-test-python
Engine version
Versión del motor Flink para el despliegue.
Se recomienda utilizar una versión con la etiqueta RECOMMENDED o STABLE para mejorar la fiabilidad y el rendimiento. Para obtener más información, consulte Release Notes y Engine Versions.
vvr-8.0.9-flink-1.17
Python URI
Descargue el archivo de ejemplo word_count_batch.py. A continuación, haga clic en el icono de carga
para seleccionar y cargar el archivo.-
Entry module
Módulo de punto de entrada del programa.
-
Este parámetro no es obligatorio si el trabajo de PyFlink es un archivo .py.
-
Si el trabajo de PyFlink es un archivo .zip, debe introducir el módulo de entrada. Ejemplo:
word_count.
No obligatorio
Entry point main arguments
Argumentos que se pasan al método principal.
Para este tutorial, introduzca las rutas de almacenamiento del archivo de entrada Shakespeare y del directorio de salida
python-batch-quickstart-test-output.NotaSolo necesita especificar la ruta del directorio de salida. El directorio de salida debe estar en el mismo directorio principal que el archivo de entrada. No es necesario crear el directorio de salida con antelación.
--input oss://<Your-OSS-Bucket-Name>/artifacts/namespaces/<Your-Workspace-Name>/Shakespeare--output oss://<Your-OSS-Bucket-Name>/artifacts/namespaces/<Your-Workspace-Name>/python-batch-quickstart-test-outputPuede copiar la ruta completa del archivo Shakespeare desde la página Artifacts.
Deployment target
En la lista desplegable, seleccione la Resource Queue o el session cluster de destino. No se recomienda usar clústeres de sesión en producción. Para obtener más información, consulte Manage queues y Create a session cluster.
ImportanteLos despliegues en un clúster de sesión no admiten métricas de monitoreo, configuración de alertas ni Autopilot. Utilice los clústeres de sesión solo para desarrollo y pruebas; no los use en entornos de producción. Para obtener más información, consulte Debug deployments.
default-queue
Para obtener más información sobre otros parámetros de configuración, consulte Deploy a job.
-
Haga clic en Deploy.
Paso 4: Iniciar el despliegue y consultar los resultados
Streaming
En la página , busque el despliegue deseado y haga clic en Start en la columna Actions.
-
En el cuadro de diálogo Start Job, seleccione Initial Mode y haga clic en Start. Para obtener más información, consulte Start a deployment.
Después de hacer clic en Start, un estado de RUNNING o FINISHED indica que el despliegue se ejecuta según lo esperado. Si utiliza el archivo de ejemplo de este tema, el estado final será FINISHED.
-
Una vez que el estado del despliegue cambie a RUNNING, consulte los resultados del despliegue de streaming.
ImportanteSi utiliza el archivo de Python de ejemplo de este tema, los resultados se eliminan cuando el despliegue de streaming entra en el estado FINISHED. Por lo tanto, solo puede consultar los resultados mientras el despliegue esté en estado RUNNING.
En el archivo de registro de TaskManager que termina con .out, busque
shakespearepara encontrar el resultado del cálculo.En la pestaña Logs, haga clic en la pestaña Running Task Managers. Para el TaskManager correspondiente, haga clic en la subpestaña Log List. Abra el archivo
flink.oute introduzcashakespeareen el cuadro de búsqueda de la esquina superior derecha para localizar el resultado del conteo de palabras, por ejemplo,(shakespeare,1).
Batch
-
En la página , busque el despliegue deseado y haga clic en Start en la columna Actions.
Para filtrar la lista, seleccione Batch Deployment en la lista desplegable de tipos.
En el cuadro de diálogo Start Job, haga clic en Start. Para obtener más información, consulte Start a deployment.
-
Una vez que el estado del despliegue cambie a FINISHED, consulte los resultados del despliegue por lotes.
Inicie sesión en la consola de OSS. Vaya al directorio oss://<Your-OSS-Bucket-Name>/artifacts/namespaces/<Your-Workspace-Name>/python-batch-quickstart-test-output. Haga clic en la carpeta cuyo nombre corresponde a la fecha y hora de inicio del despliegue, haga clic en el archivo deseado y luego haga clic en Download en el panel que aparece.
El despliegue por lotes genera un archivo .ext. Después de descargar el archivo, ábralo con un editor de texto o Microsoft Word para ver los resultados. La salida es similar a la siguiente:
(As,40) (At,5) (Ay,1) (Be,9) (By,14) (Do,4) (He,7) (I,,4) (If,34) (In,36) (Is,10) (It,6)
(Opcional) Paso 5: Detener un despliegue
Para aplicar cambios a un trabajo (como modificaciones de código, actualizaciones de parámetros WITH o cambios de versión), debe volver a desplegarlo, detenerlo y reiniciarlo. También es necesario reiniciar para un inicio sin estado o para aplicar cambios de configuración no dinámicos. Para obtener más información sobre cómo detener un trabajo, consulte Stop a job.
Temas relacionados
Puede configurar recursos para un despliegue antes de iniciarlo o modificarlos mientras se ejecuta. Se admiten dos modos de configuración de recursos: básico (grano grueso) y experto (grano fino). Para obtener más información, consulte Configure deployment resources.
Realtime Compute for Apache Flink admite actualizaciones dinámicas de los parámetros de despliegue. Esto permite que las configuraciones surtan efecto más rápido y reduce el tiempo de inactividad del servicio causado por detener e iniciar despliegues. Para obtener más información, consulte Dynamic scaling and parameter updates.
Configure los niveles de registro del despliegue y especifique diferentes salidas para cada nivel. Para obtener más información, consulte Configure Log Output.
Para obtener un recorrido por el flujo de trabajo de desarrollo SQL, consulte Flink SQL job.