Todos os produtos
Search
Central de documentação

DataWorks:Criar e usar uma função definida pelo usuário

Última atualização: Jul 10, 2026

Crie uma função definida pelo usuário (UDF) para estender o MaxCompute com lógica personalizada quando as funções integradas não atenderem aos seus requisitos. O DataWorks oferece uma interface visual para criar e registrar UDFs.

Contexto

Uma UDF amplia a biblioteca de funções integradas com lógica e cálculos personalizados para consultas. Para obter mais informações, consulte Visão geral de UDF. Você também pode criar UDFs usando o MaxCompute Studio ou a linha de comando. Para mais detalhes, consulte Criar uma UDF no MaxCompute Studio e Criar uma UDF no MaxCompute usando comandos.

Pré-requisitos

Antes de criar uma função, crie e carregue um recurso do MaxCompute no DataWorks. Para obter mais informações, consulte Criar um recurso do MaxCompute.

Nota

Para preparar seu arquivo de recurso, consulte Desenvolver uma UDF (Java) ou Desenvolver uma UDF (Python 3).

Limitações

O DataWorks permite visualizar e gerenciar apenas UDFs carregadas por meio de sua interface visual. Se você adicionou uma UDF ao MaxCompute usando outra ferramenta, como o MaxCompute Studio, carregue-a manualmente no DataWorks usando o recurso MaxCompute Functions. Para obter mais informações, consulte Gerenciar funções do MaxCompute.

Registrar uma função

  1. Faça login no console do DataWorks. Na região de destino, clique em Data Development and O&M > Data Development no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Data Development.

  2. Crie um workflow. Para obter mais informações, consulte Criar um workflow recorrente.

  3. Crie uma função.

    1. Abra o workflow, clique com o botão direito em MaxCompute e selecione Create Function.

    2. Na caixa de diálogo Create Function, insira um Name e selecione um Path.

    3. Clique em Create.

    4. Na caixa de diálogo Register Function, configure os parâmetros.

      Parâmetro

      Descrição

      Function Type

      Selecione o tipo da função. Valores válidos: Mathematical Operation Functions, Aggregate Functions, String Processing Functions, Date Functions, Window Functions e Other Functions. Para obter mais informações, consulte Usar funções integradas.

      MaxCompute Engine Instance

      Somente leitura.

      Function Name

      Nome da UDF, usado para referenciar a função em instruções SQL. O nome deve ser globalmente único e não pode ser modificado após o registro.

      Owner

      Por padrão, o sistema exibe a conta conectada no momento. Se necessário, selecione uma conta diferente.

      Class Name

      Nome da classe da UDF, no formato resource_name.class_name. O nome do recurso pode ser um nome de pacote Java ou um nome de recurso Python.

      Ao criar uma UDF no DataWorks, você pode usar recursos do MaxCompute do tipo JAR ou Python. A configuração do nome da classe varia conforme o tipo de recurso:

      • Se o tipo de recurso for JAR, o Class Name segue o formato package_name.actual_class_name. Obtenha esse valor no IntelliJ IDEA usando o comando copy reference.

        Por exemplo, se o nome do pacote Java for com.aliyun.odps.examples.udf e o nome real da classe for UDAFExample, defina o parâmetro Class Name como com.aliyun.odps.examples.udf.UDAFExample.

      • Se o tipo de recurso for Python, o Class Name segue o formato python_resource_name.actual_class_name.

        Por exemplo, se o nome do recurso Python for LcLognormDist_sh e o nome real da classe for LcLognormDist_sh, defina o parâmetro Class Name como LcLognormDist_sh.LcLognormDist_sh.

        Nota
        • Não adicione o sufixo .jar ou .py ao nome do recurso.

        • Envie e publique o recurso antes de usá-lo. Para obter mais informações, consulte Criar e usar recursos do MaxCompute.

      Resources

      Selecione os recursos necessários para registrar a função.

      • Modo visual: selecione apenas recursos já carregados ou adicionados ao DataWorks.

      • Editor de código: selecione qualquer recurso do mecanismo de computação MaxCompute correspondente.

      Nota
      • Não é necessário informar os caminhos dos recursos adicionados.

      • Se a UDF usar vários recursos, separe os nomes por vírgula (,).

      Description

      Breve descrição da finalidade da UDF.

      Expression Syntax

      Exemplo de uso da UDF. Por exemplo, test.

      Parameter Description

      Descrição dos tipos de parâmetros de entrada compatíveis e do tipo de valor de retorno.

      Return Value

      Exemplo de valor de retorno, como 1. Este parâmetro é opcional.

      Example

      Exemplo de uso da função. Este parâmetro é opcional.

  4. Clique no ícone Salvar 保存 na barra de ferramentas para salvar a função.

  5. Envie a função.

    1. Clique no ícone Enviar 提交 na barra de ferramentas.

    2. Na caixa de diálogo Submission, insira uma Change Description.

    3. Clique em OK.

Para obter mais informações sobre como visualizar funções no MaxCompute e seu histórico de alterações, consulte Gerenciar funções do MaxCompute.

Visualizar e reverter versões de funções

Clique com o botão direito no nome da função e selecione View Earlier Versions para consultar o histórico de versões ou revertê-la.

O painel de histórico de versões exibe o horário de envio, a descrição da alteração e o responsável por cada versão. Para restaurar uma versão anterior, selecione-a e clique em

Roll Back

.

Usar uma função em um nó

Referencie uma UDF diretamente pelo nome nas instruções SQL. Para inserir rapidamente o nome da função no editor do nó atual, clique com o botão direito em Insert Function. Na árvore de arquivos do projeto à esquerda, sob o nó Function, clique com o botão direito na função desejada, como getregion, e selecione Reference Function para inseri-la no editor SQL. Por exemplo, use getregion(ip) AS region em uma instrução SELECT para chamar a UDF.

Apêndice 1: Visualizar funções definidas pelo usuário

  • Execute o comando SHOW FUNCTIONS para listar todas as UDFs registradas no projeto MaxCompute vinculado ao componente DataStudio do seu workspace DataWorks.

  • O MaxCompute oferece diversas funções integradas. Para obter mais informações, consulte Visão geral das funções integradas.

// View the functions in the current project.
SHOW FUNCTIONS;

Apêndice 2: Visualizar detalhes da função

  • Execute o comando DESCRIBE ou DESC seguido do nome da função para visualizar os detalhes de uma UDF.

    // Use the short form to view the details of a UDF.
    DESC FUNCTION <function_name>;
  • Se as funções integradas de um workflow não atenderem às suas necessidades, crie uma UDF do MaxCompute e carregue os recursos associados, como arquivos JAR ou Python. Para obter mais informações, consulte Gerenciar recursos do MaxCompute.

Melhores práticas

Após criar uma UDF, consulte Conceder acesso a uma UDF específica para um usuário especificado para configurar o controle de acesso da função.

Documentos relacionados

Perguntas frequentes

P: Após carregar um recurso e defini-lo como UDF no DataWorks, posso usá-lo em consultas SQL no DataAnalysis, além dos nós ODPS SQL no DataStudio?

R: Sim. As UDFs registradas no DataWorks são armazenadas no projeto MaxCompute subjacente, tornando-as disponíveis tanto para nós ODPS SQL quanto para consultas SQL no DataAnalysis.