Todos los productos
Search
Centro de documentos

Realtime Compute for Apache Flink:Gestionar UDFs

Última actualización: Sep 03, 2026

Debe registrar una UDF para utilizarla en un despliegue SQL. Este tema describe cómo registrar, actualizar y eliminar UDFs.

Antes de empezar

  • Si un usuario RAM o un rol RAM necesita gestionar UDFs, asegúrese de que tenga permiso para acceder al namespace de destino. Para obtener más información, consulte development console authorization.

  • Para evitar conflictos de dependencias en archivos JAR al desarrollar UDFs, siga estas pautas:

    • Asegúrese de que la versión de Flink que seleccione en la página de desarrollo coincida con la versión de Flink en su dependencia POM.

    • Para las dependencias relacionadas con Flink, establezca su scope como provided agregando <scope>provided</scope>.

    • Utilice Apache Maven Shade Plugin para empaquetar otras dependencias de terceros. Para obtener más información, consulte Apache Maven Shade Plugin.

    Nota

    Para obtener más información sobre los conflictos de dependencias de Flink, consulte How do I troubleshoot Flink dependency conflicts?.

Registrar una UDF

UDFs de catálogo

  1. Vaya a la página de registro de UDF.

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

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

    3. En el panel de navegación izquierdo, haga clic en Development > ETL.

    4. Haga clic en la pestaña Functions.

  2. Haga clic en Register UDF.

  3. Cargue el archivo JAR de la UDF.

    Puede cargar un archivo JAR de UDF de una de las siguientes maneras:

    • Upload a file: Haga clic en Select a file junto al campo Select a file para elegir su artefacto de UDF. Si la UDF tiene dependencias, haga clic en Select a file junto al campo Dependency File para cargar los archivos necesarios.

      Nota
      • Su archivo de UDF se carga en el directorio sql-artifacts del bucket de OSS que seleccionó.

      • Para una UDF de Java, las dependencias pueden empaquetarse en el archivo JAR de la UDF o cargarse por separado. Para una UDF de Python, se recomienda cargar las dependencias por separado.

    • External URL: Para usar un archivo de UDF de otro servicio, proporcione su URL externa.

      Nota

      Se admiten dos tipos de URLs externas:

      • El bucket de OSS asociado con su workspace de Flink. Consulte los detalles del bucket en la página Workspace Details del Portal de gestión.

      • Una URL para un sistema de almacenamiento externo al que Realtime Compute for Apache Flink tenga acceso (lectura pública o con permiso otorgado).

  4. Haga clic en OK.

  5. En la página Available Functions, seleccione las UDFs que desea registrar y haga clic en Create Function.

    La consola de desarrollo analiza sintácticamente el archivo de artefacto, identifica las clases que utilizan las interfaces UDF, UDAF y UDTF de Flink, y completa automáticamente el campo Function Name con los nombres de las clases. Una vez registrada una UDF, puede consultarla en la lista Functions. Aparece un icono "fx" amarillo a la izquierda de cada UDF registrada.

    Nota

    Cuando registra una UDF de catálogo, se utiliza la última versión de Flink para el análisis sintáctico de forma predeterminada. Si su despliegue SQL utiliza una versión anterior del motor, esto puede causar problemas de incompatibilidad. Para resolverlo, puede implementar el código de la UDF según la versión del motor requerida y registrarla como una UDF de nivel de despliegue. Para obtener más información, consulte Deployment-level UDFs.

UDFs de nivel de despliegue

Importante
  • Las UDFs de Python de nivel de despliegue solo son compatibles con VVR 8.0.3 y versiones posteriores.

  • Cuando utiliza una UDF de Python de nivel de despliegue, puede configurar archivos de dependencias mediante parámetros como python.files o python.archives en los parámetros del despliegue.

  • Cuando utiliza una UDF de Python de nivel de despliegue, no se admite la verificación de sintaxis. Debe omitir la verificación de sintaxis al iniciar el despliegue.

Siga estos pasos para registrar una UDF de nivel de despliegue:

  1. Cargue el archivo JAR de la UDF o el archivo de Python.

    En el panel de navegación izquierdo, vaya a Artifacts y cargue el archivo JAR de la UDF o el archivo de Python.

  2. Especifique la UDF de nivel de despliegue en el despliegue.

    En la sección Additional Dependencies del despliegue, especifique el archivo JAR de la UDF o el archivo de Python.

  3. Registre la UDF de nivel de despliegue.

    • UDF de Java

      CREATE TEMPORARY FUNCTION yourfunctionname;
    • UDF de Python

      CREATE TEMPORARY FUNCTION yourfunctionname LANGUAGE Python;

Actualizar una UDF

Siga estos pasos para actualizar un archivo JAR de UDF después de agregar una nueva UDF o modificar una existente.

  1. Vaya a la página de registro de UDF.

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

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

    3. En el panel de navegación izquierdo, haga clic en Development > ETL.

    4. Haga clic en la pestaña Functions.

  2. En la lista Functions, pase el cursor sobre el nombre de la UDF de destino y haga clic en el icono 更新JAR.

  3. Cargue el archivo JAR de la UDF. En el cuadro de diálogo Update UDF JAR, seleccione el método Upload a file o External URL, configure los campos Select a file y Dependency File, y haga clic en Modify.

    Importante
    • El nuevo archivo JAR de la UDF debe contener las clases de todas las UDFs registradas actualmente.

    • Los cambios en el nuevo archivo JAR de la UDF solo surten efecto en despliegues nuevos o reiniciados. Los despliegues en ejecución continúan usando el archivo antiguo hasta que se reinician.

  4. Haga clic en Modify.

Eliminar una UDF

Nota

Antes de eliminar un archivo JAR de UDF, asegúrese de que ningún despliegue ni archivo SQL haga referencia a las UDFs registradas desde él.

Para eliminar un archivo JAR de UDF, siga estos pasos:

  1. Vaya a la página de registro de UDF.

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

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

    3. En el panel de navegación izquierdo, haga clic en Development > ETL.

    4. Haga clic en la pestaña Functions.

  2. En la lista Functions, pase el cursor sobre el nombre de la UDF de destino y haga clic en el icono 删除JAR.

  3. Seleccione la casilla Delete all functions and the associated file.

    Para eliminar el archivo JAR de la UDF, también debe eliminar todas las UDFs que se registraron desde él para evitar inconsistencias en los datos.

  4. Haga clic en OK.

Temas relacionados