Todos los productos
Search
Centro de documentos

MaxCompute:CREATE FUNCTION

Última actualización: Sep 03, 2026

Crea una función definida por el usuario (UDF) en un proyecto de MaxCompute.

Requisitos previos

Antes de empezar, asegúrese de haber:

  • Agregado los recursos obligatorios a su proyecto de MaxCompute mediante el comando ADD JAR. Para obtener más información, consulte ADD JAR.

Limitaciones

  • Los nombres de las funciones deben ser únicos dentro de un proyecto. No puede crear una función con el mismo nombre que una función existente.

  • Las UDF no pueden sobrescribir las funciones integradas de MaxCompute. Solo el propietario del proyecto puede usar UDF para sobrescribir funciones integradas. Si una UDF sobrescribe una función integrada, aparecerá una advertencia en Summary del Logview del trabajo después de ejecutar la sentencia SQL.

Sintaxis

CREATE FUNCTION <function_name> AS <'package_to_class'> USING <'resource_list'>;

Parámetros

Parameter

Required

Description

function_name

Sí

El nombre de la UDF que se va a crear. Debe ser único dentro del proyecto.

package_to_class

Sí

La clase de la UDF. Distingue entre mayúsculas y minúsculas. Debe ir entre comillas simples ('). Para una UDF de Java, especifique el nombre completo de la clase desde el paquete de nivel superior hasta la clase de la UDF. Para una UDF de Python, utilice el formato <Python_script_name>.<Class_name>.

resource_list

Sí

Los recursos que utiliza la UDF. Deben ir entre comillas simples ('). Separe varios recursos con comas (,). Para hacer referencia a un recurso de otro proyecto, utilice el formato <project_name>/resources/<resource_name>.

Notas sobre package_to_class para UDF de Python

El nombre del script de Python hace referencia al nombre subyacente del recurso que lo identifica de forma única. Por ejemplo, si carga un recurso como pyudf_test.py y luego le cambia el nombre a PYUDF_TEST.py en DataStudio o lo sobrescribe con el cliente de MaxCompute, el nombre subyacente del recurso seguirá siendo pyudf_test.py. Por lo tanto, al registrar la UDF, el nombre de la clase debe ser pyudf_test.SampleUDF. Ejecute LIST RESOURCES; para consultar los nombres subyacentes de todos los recursos.

Notas sobre resource_list

  • La lista debe incluir los recursos que contienen el código de la UDF. Asegúrese de que dichos recursos ya estén cargados en MaxCompute.

  • Si la UDF llama a la API de Distributed Cache para leer archivos de recursos, incluya también esos archivos en la lista.

  • Si el esquema está habilitado y necesita utilizar recursos de otros proyectos, consulte Work with objects in a schema.

Ejemplos

Crear una UDF de Java

En el siguiente ejemplo se crea la función my_lower. La clase de la UDF de Java org.alidata.odps.udf.examples.Lower se encuentra en my_lower.jar.

CREATE FUNCTION my_lower AS 'org.alidata.odps.udf.examples.Lower' USING 'my_lower.jar';

Crear una UDF de Python desde otro proyecto

En el siguiente ejemplo se crea la función my_lower. La clase de la UDF de Python MyLower está definida en pyudf_test.py dentro del proyecto test_project.

CREATE FUNCTION my_lower as 'pyudf_test.MyLower' using 'test_project/resources/pyudf_test.py';

Crear una UDF con varias dependencias de recursos

En el siguiente ejemplo se crea la función test_udtf. La clase de la UDF de Java com.aliyun.odps.examples.udf.UDTFResource se encuentra en udtfexample1.jar. La función también depende de un recurso FILE (file_resource.txt), un recurso Table (table_resource1) y un recurso Archive (test_archive.zip).

CREATE FUNCTION test_udtf AS 'com.aliyun.odps.examples.udf.UDTFResource' USING 'udtfexample1.jar, file_resource.txt, table_resource1, test_archive.zip';

Pasos siguientes

  • FUNCTION: Cree una función SQL temporal que solo se aplique al script SQL actual y no se almacene en el sistema de metadatos de MaxCompute.

  • DROP FUNCTION: Elimine una UDF existente de un proyecto de MaxCompute.

  • DELETE FUNCTION: Elimine una función mediante el método delete_function() de un objeto de entrada de MaxCompute.

  • DESC FUNCTION: Consulte los detalles de una UDF, incluido su nombre, propietario, hora de creación, nombre de clase y lista de recursos.

  • LIST FUNCTIONS: Consulte todas las UDF de un proyecto de MaxCompute.

  • UPDATE FUNCTION: Actualice una UDF mediante el método update de MaxCompute.