Todos os produtos
Search
Central de documentação

MaxCompute:Desenvolver um programa de grafo

Última atualização: Jun 26, 2026

Este tópico descreve como desenvolver um programa de grafo no MaxCompute Studio. O processo inclui escrever, depurar, empacotar, fazer upload e executar o programa.

Pré-requisitos

Conclua as seguintes tarefas:

  1. Gerencie conexões de projeto

  2. Crie um módulo Java do MaxCompute

Escrever um programa de grafo

  • Crie uma classe Java do MaxCompute.

    Este tópico usa a classe BaseLoadingVertexResolver e a classe SSSP como exemplos.

    1. No painel Project, clique com o botão direito no diretório de source code do módulo (ou seja, src > main > java) e selecione New > MaxCompute Java.

    2. Insira um Name, selecione GraphLoader ou Vertex como tipo e pressione Enter.

      • Name: insira o nome da classe Java do MaxCompute que você deseja criar.

        Nota

        Se você ainda não criou um pacote, insira packagename.classname. O pacote será criado automaticamente.

      • Selecione GraphLoader ou Vertex. A lista a seguir descreve os tipos:

        • GraphLoader: usado para carregar um grafo. Utilize a interface setGraphLoaderClass do GraphJob para fornecer uma implementação de GraphLoader.

        • Vertex: uma abstração de um vértice do grafo. Inclui as seguintes propriedades: id, value, halted e edges. Utilize a interface setVertexClass do GraphJob para fornecer uma implementação de Vertex.

    3. Após criar a classe, desenvolva o programa Java no editor. Para visualizar códigos de exemplo da classe BaseLoadingVertexResolver e da classe SSSP, consulte SSSP.

  • Adicione as dependências necessárias ao seu arquivo pom.xml.

    <dependency>
        <groupId>com.aliyun.odps</groupId>
        <artifactId>odps-sdk-core</artifactId>
        <version>0.48.0-public</version>
    </dependency>
    <dependency>
        <groupId>com.aliyun.odps</groupId>
        <artifactId>odps-sdk-graph</artifactId>
        <version>0.48.0-public</version>
    </dependency>
    <!-- For local testing -->
    <dependency>
        <groupId>com.aliyun.odps</groupId>
        <artifactId>odps-graph-local</artifactId>
        <version>0.48.0-public</version>
    </dependency>

    Após configurar o arquivo pom.xml, verifique no painel Maven se as dependências foram carregadas.

Depurar com uma execução local

Execute o programa de grafo localmente para verificar se a saída atende às suas expectativas.

  1. Clique em com o botão direito no arquivo Java e selecione Run.

  2. Na caixa de diálogo Run/Debug Configurations, configure os parâmetros de execução.

    Para MaxCompute project, selecione local na lista suspensa à esquerda e o projeto de destino, como example_project, na lista à direita.

    • MaxCompute project: o projeto onde você executará o programa de grafo.

    • Download Record limit: o número máximo de registros a serem baixados. O padrão é 100.

  3. Clique em OK para iniciar a execução.

    Em uma execução local, o programa lê dados da tabela especificada no diretório warehouse como entrada. É possível visualizar a saída de log no console. Para obter mais informações sobre o diretório warehouse, consulte diretório warehouse.

Empacotar e fazer upload

Após depurar o programa, empacote-o em um arquivo JAR e faça upload para o MaxCompute como um resource. Para obter mais informações, consulte Empacotar, fazer upload e registrar.

Executar o programa de grafo

  1. No painel de navegação à esquerda do IntelliJ IDEA, abra o painel Project.

  2. Clique em com o botão direito no nome do projeto e selecione Open in Console.

  3. No painel Console, execute o programa de grafo. O comando a seguir é fornecido como exemplo. Antes de executar o comando, substitua a classe principal, a tabela de entrada e a tabela de saída pelos seus valores reais.

    Para obter mais comandos, consulte Comandos JAR.

    jar -libjars xxx.jar -classpath /Users/home/xxx.jar com.aliyun.odps.graph.examples.PageRank pagerank_in pagerank_out;
    • PageRank: a classe principal definida no programa de grafo.

    • pagerank_in: a tabela de entrada.

    • pagerank_out: a tabela de saída.