Todos os produtos
Search
Central de documentação

MaxCompute:Tipo de dados vetorial

Última atualização: Jul 13, 2026

O tipo de dados vetorial permite codificar e processar vetores com eficiência. Ele oferece suporte a aplicações de busca e recuperação semântica de vetores, como as baseadas em RAG, além de operações comuns em cargas de trabalho de processamento vetorial.

Sintaxe do tipo de dados

Use a sintaxe a seguir para especificar o tipo de dados vetorial:

VECTOR( FLOAT <type>, <dimension> )

-- Define a 768-dimension floating-point vector
VECTOR(FLOAT, 768)
  • type: tipo de dados dos elementos do vetor. Atualmente, apenas FLOAT tem suporte.

  • dimension: dimensão do vetor. Deve ser um número inteiro positivo no intervalo [1, 4096].

Limitações

  • Não use uma coluna vetorial como PRIMARY KEY ou CLUSTER KEY.

  • Colunas vetoriais não são permitidas como chave nas cláusulas ORDER BY, GROUP BY ou JOIN.

  • Esse tipo de dados não aceita operações aritméticas (como +, -, *, /, %), comparações (como =, >, <) nem funções de agregação (como SUM, MIN, MAX, AVG e MEDIAN).

  • Apenas o mecanismo SQL do MaxCompute oferece suporte ao tipo de dados vetorial.

  • Trabalhe com o tipo de dados vetorial usando o cliente local (odpscmd), o SDK Python ou o DataWorks.

Sintaxe SQL

SET

Para usar o tipo de dados vetorial, defina os seguintes sinalizadores:

SET odps.sql.type.system.odps2=true;
SET odps.sql.type.vector.enable=true;

DDL

Armazene dados vetoriais diretamente em tabelas do MaxCompute:

-- Create a table with a VECTOR column
CREATE OR REPLACE TABLE products (
  description_embedding VECTOR(FLOAT, 3)
);

DML

  • Há duas formas principais de construir dados VECTOR:

    • Converta o tipo ARRAY<FLOAT> para VECTOR. Durante a conversão, o sistema verifica automaticamente se a dimensão do array corresponde à do vetor de destino.

    • Gere dados do tipo VECTOR diretamente com a função AI_EMBEDDING.

  • Exemplo

    -- You can explicitly or implicitly cast an ARRAY. The array's dimension must match the target VECTOR's dimension.
    INSERT INTO products select CAST(array(1.1,2.2,3.3) as VECTOR(FLOAT,3));
    
    SELECT * FROM products;  
    -- Result
    +-----------------------+
    | description_embedding |
    +-----------------------+
    | [1.1, 2.2, 3.3]       |
    +-----------------------+

Funções vetoriais

As seguintes funções vetoriais têm suporte atualmente:

VECTOR_SEARCH, L2_DISTANCE, INNER_PRODUCT_DISTANCE e COSINE_DISTANCE.

Índice vetorial

Para aumentar a eficiência da recuperação de vetores em grande escala, o MaxCompute permite criar um índice vetorial no campo VECTOR e ative consultas eficientes de vizinho mais próximo aproximado (ANN). Para mais informações, consulte VECTOR INDEX.