Todos os produtos
Search
Central de documentação

MaxCompute:Exemplo: Referenciar um recurso de arquivo

Última atualização: Aug 20, 2026

Este tópico descreve como referenciar um recurso de arquivo usando funções definidas pelo usuário (UDFs) em Python no client do MaxCompute.

Pré-requisitos

Certifique-se de que os seguintes requisitos foram atendidos:

  • O client do MaxCompute está instalado e configurado.

    Para obter mais informações sobre como instalar e configurar o client do MaxCompute, consulte Install and configure the MaxCompute client.

  • O arquivo a ser referenciado foi adicionado ao projeto do MaxCompute como recurso.

    Neste exemplo, o arquivo test_distcache.txt é adicionado a um projeto do MaxCompute como recurso. O arquivo contém os seguintes dados:

    1 a
    2 b
    3 c
    4 d

    Para obter mais informações sobre como adicionar recursos, consulte Add resources.

Procedimento de desenvolvimento e uso

1. Escrever uma UDF

O código de exemplo a seguir mostra como usar uma UDF em Python para obter dados específicos do arquivo test_distcache.txt.

from odps.udf import annotate
from odps.distcache import get_cache_file
@annotate('bigint->string')
class DistCacheExample(object):
    def __init__(self):
        cache_file = get_cache_file('test_distcache.txt')
        kv = {}
        for line in cache_file:
            line = line.strip()
            if not line:
                continue
            k, v = line.split()
            kv[int(k)] = v
        cache_file.close()
        self.kv = kv
    def evaluate(self, arg):
        return self.kv.get(arg)

Salve o código de exemplo anterior como um script Python e armazene-o no diretório bin do client do MaxCompute. Neste exemplo, o nome do script Python é file.py.

2. Fazer upload dos recursos e criar a UDF

Após desenvolver e depurar o código da UDF, faça o upload dos recursos para o MaxCompute usando o client do MaxCompute e crie a UDF.

  1. Execute o comando a seguir para adicionar o arquivo de script Python como recurso ao MaxCompute:

    add py file.py;

    O resultado retornado é:

    OK: Resource 'file.py' have been created.

    Para obter mais informações sobre os comandos disponíveis para adicionar recursos ao MaxCompute, consulte Add resources.

  2. Execute o comando a seguir para criar uma UDF em Python:

    create function file_udf as 'file.DistCacheExample' using 'file.py, test_distcache.txt';

    Descrição dos parâmetros:

    • file_udf: nome da UDF em Python a ser criada. A função será chamada posteriormente em uma instrução SQL.

    • file.DistCacheExample: file é o nome do script file.py. DistCacheExample é a classe definida no script file.py.

    O resultado retornado é:

    Success: Function 'file_udf' have been created.

    Para obter mais informações sobre como criar UDFs, consulte Create a UDF.

3. Usar a UDF

Depois de criar a UDF, execute os comandos a seguir para construir dados de teste e chamar a UDF:

-- Create a test table. 
create table file_table (arg bigint);
-- Insert data into the table. 
insert into file_table values (1), (4), (15), (123), (7995);
-- Call the created function in the SQL statement to obtain the data that meets the specific requirements from the file resource. 
select file_udf(arg) from file_table;

O resultado retornado é:

+-----+
| _c0 |
+-----+
| a   |
| d   |
| NULL |
| NULL |
| NULL |
+-----+