Todos los productos
Search
Centro de documentos

MaxCompute:Descripción general de las funciones integradas

Última actualización: Oct 10, 2026

MaxCompute ofrece una amplia variedad de funciones integradas que cubren la mayoría de los requisitos de procesamiento de datos. En esta página se describen los tipos de funciones disponibles y las notas de uso aplicables a todas ellas.

Tipos de funciones

Las funciones integradas de MaxCompute se dividen en tres categorías principales:

  • Funciones escalares: operan sobre una sola fila y devuelven un valor por cada invocación. Incluyen funciones para fecha y hora, matemáticas, cadenas, cifrado, red, ARRAY, MAP, STRUCT, JSON y procesamiento de datos no estructurados.

  • Funciones de agregación: toman varias filas de entrada y devuelven un único valor de salida.

  • Funciones de ventana: operan sobre un subconjunto de filas dentro de una columna de ventana definida y devuelven un valor por cada fila.

Para consultar la correspondencia entre las funciones integradas de MaxCompute y sus equivalentes de código abierto, consulte Mapping between built-in functions of MaxCompute, Hive, MySQL, and Oracle.

Function type

Description

Date and time functions

Manipulan datos DATE, DATETIME y TIMESTAMP: suman o restan fechas, calculan diferencias, extraen campos y convierten formatos.

Mathematical Functions Overview

Ejecutan operaciones numéricas sobre datos BIGINT, DOUBLE, DECIMAL y FLOAT: convierten bases, redondean números y generan valores aleatorios.

Window functions

Calculan agregaciones, clasificaciones, desplazamientos y muestras dentro de una columna de ventana específica.

Aggregate functions

Agregan varios registros de entrada en un único valor de salida: sumas, promedios, valores mínimos y máximos, parámetros de agregación y concatenación de cadenas.

HyperLogLog++ functions

Funciones de agregación aproximada que eliminan duplicados y aceleran las consultas en conjuntos de datos grandes con un uso mínimo de memoria.

String Functions Overview

Manipulan datos STRING: truncan, reemplazan, buscan, cambian mayúsculas y minúsculas, y convierten formatos. Consulte Limits of STRING functions.

ARRAY functions

Manipulan datos ARRAY: construyen, deduplican, agregan, ordenan y combinan arreglos.

MAP functions

Manipulan datos MAP: extraen pares clave-valor, construyen mapas y los combinan.

STRUCT functions

Manipulan datos STRUCT: expanden arreglos STRUCT y construyen estructuras.

JSON functions

Manipulan datos JSON: extraen valores de campos, generan objetos o arreglos, insertan o actualizan datos y gestionan estructuras complejas. Consulte Limits of JSON functions.

Encryption functions

Cifran y descifran datos de tablas de tipo STRING y BINARY.

Network functions

Procesan datos STRING y BINARY relacionados con la red: convierten formatos de direcciones IP, analizan sintácticamente URL y obtienen máscaras de red.

Unstructured data processing functions

Se conectan a datos no estructurados y a sus metadatos almacenados en almacenes o lagos de datos mediante distintos métodos.

Geography functions

Sirven para construir, transformar y analizar datos geoespaciales del tipo GEOGRAPHY. Permiten crear objetos geográficos como puntos, líneas y polígonos a partir de coordenadas de latitud y longitud o texto WKT/WKB. También extraen propiedades como coordenadas y cuadros delimitadores, determinan relaciones espaciales entre objetos (contención, intersección y cobertura) y calculan distancias entre ellos.

Other functions

Funciones adicionales para diversos escenarios de negocio.

VECTOR functions

Admiten el procesamiento del tipo de datos VECTOR para calcular distancias vectoriales y ejecutar búsquedas vectoriales. Son adecuadas para escenarios como búsqueda semántica, mejora de modelos de lenguaje grandes (LLM) e inteligencia artificial generativa.

Notas de uso

Tenga en cuenta lo siguiente al usar las funciones integradas:

  • Parámetros de entrada: el tipo, la cantidad y el formato de los parámetros de entrada deben cumplir con la sintaxis especificada. De lo contrario, MaxCompute no podrá analizar la función y la instrucción SQL fallará.

  • Tipos de datos 2.0: si una función integrada utiliza tipos de datos 2.0 (TINYINT, SMALLINT, INT, FLOAT, VARCHAR, TIMESTAMP o BINARY), habilite estos tipos antes de ejecutar la función. Si no lo hace, se reportará un error. Habilite los tipos de datos 2.0 en uno de los siguientes niveles:

    • Nivel de sesión (aplica solo a la instrucción SQL actual): agregue la siguiente instrucción antes de su instrucción SQL y envíelas juntas.

      SET odps.sql.type.system.odps2=true;
    • Nivel de proyecto (aplica a todas las instrucciones SQL posteriores y surte efecto en 10 a 15 minutos): el propietario del proyecto ejecuta el siguiente comando.

      SETPROJECT odps.sql.type.system.odps2=true;
  • Conversiones implícitas de tipo deshabilitadas: cuando los tipos de datos 2.0 están habilitados, se deshabilitan ciertas conversiones implícitas para evitar pérdida de precisión o errores. Estas son: STRING a BIGINT, STRING a DATETIME, DOUBLE a BIGINT, DECIMAL a DOUBLE y DECIMAL a BIGINT. Use la función CAST para conversiones explícitas o deshabilite los tipos de datos 2.0.

  • Conflictos de nombre entre UDF y funciones integradas: si una función definida por el usuario (UDF) tiene el mismo nombre que una función integrada, la UDF tiene prioridad. Por ejemplo, si existe una UDF llamada CONCAT en un proyecto, el sistema invoca la UDF en lugar de la función integrada CONCAT. Para llamar a la función integrada, anteponga :: al nombre de la función:

    SELECT ::CONCAT('ab', 'c');
  • Propiedades globales: los resultados de las funciones integradas pueden variar según las propiedades globales configuradas en el proyecto de MaxCompute. Ejecute SETPROJECT; para consultar las propiedades globales actuales.

Límites de las funciones JSON

Requisitos de versión del SDK

  • Java SDK V0.44.0 o posterior

  • PyODPS V0.11.4.1 o posterior

Límites en operaciones de tabla

  • No se admite agregar una columna JSON a una tabla.

  • No hay compatibilidad con tablas agrupadas (clustered tables).

  • No se admiten tablas del tipo Delta Table.

Límites en operaciones SQL

  • No se admiten operaciones de comparación sobre el tipo JSON.

  • Las cláusulas ORDER BY y GROUP BY no se pueden usar con el tipo JSON.

  • Una columna de tipo JSON no puede usarse como clave de JOIN.

Precisión de datos

  • La parte entera de un NUMBER de JSON se almacena como BIGINT. Se produce un desbordamiento si el valor está fuera del rango de BIGINT.

  • La parte decimal de un NUMBER de JSON se almacena como DOUBLE. Puede haber pérdida de precisión durante la conversión.

Límites de caracteres

El carácter Unicode \u0000 no es compatible en las cadenas utilizadas para generar datos JSON.

Compatibilidad de motores

Otros motores, como Hologres, no pueden leer el tipo de datos JSON desde una tabla de MaxCompute.

Compatibilidad con UDF

Las UDF de Java y de Python no admiten el tipo JSON.

Profundidad de anidamiento

El tipo de datos JSON admite hasta 20 niveles de anidamiento.

Herramientas de desarrollo compatibles

Entre las herramientas compatibles se encuentran el cliente de MaxCompute (odpscmd), MaxCompute Studio y DataWorks. Los ecosistemas externos, como Dataphin, no son compatibles. Confirme la compatibilidad antes de usar el tipo de datos JSON con cualquier sistema externo.

Al usar odpscmd, tenga en cuenta lo siguiente:

  • Actualice el cliente a la versión V0.46.5 o posterior. Las versiones anteriores no pueden ejecutar el comando DESC json_table ni descargar datos JSON mediante Tunnel.

  • En el archivo conf\odps_config.ini de la ruta de instalación del cliente, establezca use_instance_tunnel en false. De lo contrario, las consultas fallarán.

Límites de las funciones STRING

A continuación se muestran las funciones de cadena que solo admiten caracteres en inglés:

  • TRIM / RTRIM / LTRIM: el parámetro trimChars solo admite caracteres en inglés.

  • REVERSE: solo admite caracteres en inglés en el modo Hive.

  • SOUNDEX: convierte únicamente caracteres en inglés.

  • TOLOWER: convierte letras mayúsculas del inglés a minúsculas.

  • TOUPPER: convierte letras minúsculas del inglés a mayúsculas.

  • INITCAP: convierte la primera letra en inglés de cada palabra a mayúscula y el resto a minúsculas.