Todos los productos
Search
Centro de documentos

Realtime Compute for Apache Flink:Integrate with Git (Beta)

Última actualización: Sep 03, 2026

La integración con Git le permite sincronizar el código y las configuraciones de trabajos entre la consola de desarrollo de Realtime Compute for Apache Flink y un repositorio remoto de Git (GitHub, GitLab o Gitee). Utilice esta función para migrar código desde entornos locales, colaborar entre equipos, aplicar flujos de revisión de código y mantener un historial de cambios listo para auditorías.

Casos de uso

Caso de uso

Problema que resuelve

Enfoque recomendado

Migración a la nube

Envíe código Flink SQL local a un clúster de Flink en la nube mediante Git, sin necesidad de exportar o importar manualmente.

Después de extraer el código, continúe el desarrollo directamente en la consola. La extracción no modifica el repositorio de Git.

Desarrollo colaborativo

Comparta y controle versiones de borradores y configuraciones de trabajos. Cree ramas de funciones (como feature/topic) para desarrollo paralelo y corrección de bugs; luego fusiónelas con la rama principal tras superar las pruebas.

Confirme todos los cambios de código SQL mediante Git y use la consola para extraer y verificar. Gestione las ramas de Git para mantener estable la rama principal.

Aseguramiento de calidad y gobernanza de riesgos

Use pull requests para revisar el código. Extraiga el código en la consola para realizar pruebas. Rastree los cambios e identifique problemas mediante el historial de confirmaciones.

Confirme todos los cambios de código SQL mediante Git. Revise periódicamente el historial de confirmaciones para garantizar la trazabilidad de los cambios.

Recuperación ante desastres y cumplimiento

Git ofrece copias de seguridad distribuidas contra la eliminación accidental de archivos. Los registros de Git proporcionan un historial verificable de todos los cambios en la lógica de los trabajos para cumplir con auditorías.

Envíe actualizaciones de código SQL a Git de forma regular. Recupere el código desde Git cuando sea necesario. Utilice los registros de Git para rastrear todas las operaciones esenciales.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

  • Un espacio de trabajo de Flink. Consulte Create a workspace

  • Acceso a un repositorio remoto de Git (GitHub, GitLab, Gitee o Alibaba Cloud DevOps)

  • Acceso a Internet habilitado para su espacio de trabajo de Flink. Consulte Configure internet access

  • (Para repositorios con lista de permitidos por IP) La dirección IP de su espacio de trabajo de Flink agregada a la lista de permitidos del repositorio

Limitaciones

Restricción

Detalle

Tipo de trabajo compatible

Solo SQL

Permisos

Para configurar la integración con Git o editar una configuración existente, debe ser propietario del namespace o un miembro con permisos equivalentes

Un repositorio por namespace

Cada namespace se puede vincular únicamente a un repositorio de Git y a una sola rama. Para gestionar varios repositorios o ramas, create additional namespaces

Profundidad de carpetas

Máximo de siete niveles. Los archivos en el nivel ocho o superior no se pueden extraer hacia Flink

Sincronización de archivos JSON

Agregar o eliminar archivos .json en Git no se replica en la consola. Modificar archivos .json actualiza las configuraciones del borrador SQL con el mismo nombre

Conflictos de fusión

Evite editar el mismo archivo en Git y en la consola simultáneamente. Si ocurren ediciones concurrentes, Flink ejecuta una comprobación de conflictos durante el envío o la extracción, y requiere resolución manual

Paso 1: Asociar un repositorio de Git con un namespace

  1. Create an internet connection y test connectivity. Omita este paso si ya existe una conexión a Internet.

  2. Vaya a la consola de desarrollo.

    1. Inicie sesión en la consola de administración de Realtime Compute for Apache Flink.

    2. En la columna Actions del espacio de trabajo destino, haga clic en Console.

  3. Configure el repositorio de Git para el namespace.

    1. En la esquina superior derecha, haga clic en la foto de perfil y luego en User Profile.

    2. En la columna Actions de su namespace, haga clic en Git Config.

    3. Complete la configuración del repositorio de Git.

      Campo

      Descripción

      Provider

      El proveedor de Git. Valores válidos: GitHub, GitLab, Gitee.

      Repository URL

      La URL de su repositorio de Git. Debe comenzar con HTTP o HTTPS y terminar con .git. Máximo de 64 caracteres.

      Username

      El nombre de usuario de su cuenta de Git. La cuenta debe tener los permisos obligatorios en el repositorio destino.

      Personal Access Token

      El token de acceso personal (PAT) utilizado para la autenticación.

      Para obtener instrucciones, consulte Managing personal access tokens (GitHub) o Personal access tokens (GitLab).

      Branch

      La rama que se vinculará a este namespace. Cada namespace se puede vincular a una sola rama.

    4. Haga clic en OK. El repositorio de Git y la rama quedan asociados a su namespace. Una vez completada la vinculación, el cuadro de diálogo Git Config muestra la URL del repositorio vinculado, el nombre de usuario, la rama y el estado de almacenamiento del Personal Access Token. Haga clic en Unbind para quitar la vinculación actual del repositorio. Para cambiar a otro repositorio o rama, haga clic en Git Config para desvincular el actual y luego vincule el nuevo.

Paso 2: Enviar o extraer actualizaciones

Operación

Cuándo utilizarla

Enviar cambios

Envíe código SQL y cambios de configuración desde la consola hacia el repositorio remoto de Git.

Extraer cambios

Traiga código SQL o configuraciones de trabajos desde el repositorio remoto de Git hacia la consola.

Resolver conflictos de fusión

Corrija conflictos detectados durante un envío o extracción cuando el mismo archivo se editó en ambos lugares.

Enviar cambios

  1. En la página Development > ETL, haga clic en Git - Push.

  2. En el campo Changes, revise las adiciones (A), modificaciones (M) y eliminaciones (D). Haga clic en una letra para ver las diferencias.

  3. Introduzca un Commit Message y haga clic en Commit And Push. Si el envío se rechaza debido a conflictos, el sistema le solicitará extraer primero las actualizaciones del repositorio remoto. Después de extraerlas, resuelva cualquier conflicto de fusión y vuelva a enviar.

    El cuadro de diálogo Git - Push contiene los campos Repository URL y Branch, lo que le permite confirmar el destino del envío antes de confirmar los cambios.

  4. Verifique los resultados en su repositorio de Git. Cada nuevo borrador SQL enviado a Git genera dos archivos con el mismo nombre pero diferente extensión: Las actualizaciones modifican el archivo .sql o .json correspondiente.

    • filename.sql — el código SQL.

    • filename.json — las configuraciones del trabajo, incluido el nombre del borrador, ID del borrador, modo de ejecución y versión del motor.

Extraer cambios

  1. En la página Development > ETL, haga clic en Git - Synchronize Changes para obtener el estado más reciente de Git. La hora de la última sincronización aparece a la derecha del icono. Si no es reciente, haga clic en el icono para actualizar. Si hay actualizaciones disponibles en Git, aparecerá Update Available junto al icono de extracción.

  2. Haga clic en Git - Pull.

    • Si no existen conflictos, continúe con el paso 3 para ver los resultados.

    • Si se detectan conflictos, consulte Resolver conflictos de fusión a continuación.

    En la barra de estado en la parte inferior de la página, cuando la rama de Git muestra main y se detectan nuevas confirmaciones remotas, aparece un enlace azul Update Available. Haga clic en este enlace (información sobre herramienta: Git - Pull) para iniciar una operación de extracción.

  3. Cuando la página muestre Successfully pulled from the remote repository, la página ETL se actualizará y mostrará los borradores SQL extraídos. Después de la extracción, el borrador actual queda bloqueado por Git. Para modificarlo o eliminarlo, haga clic en Click To Unlock.

    CREATE TEMPORARY TABLE test_source(
        a BIGINT,
        b INT
    ) WITH (
        'connector'='datagen'
    );

Resolver conflictos de fusión

Importante

Realtime Compute for Apache Flink no admite reversión global. Antes de resolver conflictos, realice una copia de seguridad de los datos críticos (por ejemplo, copie example.sql localmente) y evalúe el impacto operativo. Proceda con precaución, ya que manejar incorrectamente los conflictos puede tener consecuencias irreversibles.

  1. En el archivo en conflicto, haga clic en Resolve.

  2. En la página de resolución de conflictos, seleccione el código en conflicto y elija la acción adecuada.

    Botón

    Acción

    Accept Current Change

    Conserva la versión original del código.

    Accept Incoming Change

    Aplica el cambio proveniente del repositorio remoto de Git.

    Accept Both Changes

    Aplica tanto los cambios locales como los remotos.

    <<<<<<< Upstream, based on branch 'master' of https://gitee.com/xxx/test.git (Current
    CREATE TEMPORARY TABLE vvpnntest_source(
    =======
    CREATE TEMPORARY TABLE nntest_source(
    >>>>>>> c658aa9 vvp git pull (Incoming Change)
        a BIGINT,
        b INT
    ) WITH (
        'connector'='datagen'
    );
    
    <<<<<<< Upstream, based on branch 'master' of https://gitee.com/xxx/test.git (Current
    CREATE TEMPORARY TABLE vvpnntest_sink(
    =======
    CREATE TEMPORARY TABLE nntest_sink(
    >>>>>>> c658aa9 vvp git pull (Incoming Change)
        a BIGINT,
        b INT
    ) WITH(
        'connector'='blackhole'
    );
    
    <<<<<<< Upstream, based on branch 'master' of https://gitee.com/xxx/test.git (Current
    INSERT INTO vvpntest_sink
    =======
    INSERT INTO nntest_sink
    >>>>>>> c658aa9 vvp git pull (Incoming Change)
    SELECT *
    <<<<<<< Upstream, based on branch 'master' of https://gitee.com/xxx/test.git (Current
    FROM vvpnntest_source;
    =======
  3. Haga clic en Mark As Resolved.

  4. Haga clic en Continue.

Pasos siguientes