全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
MaxCompute

编写Graph

更新时间:2017-10-22 14:28:32

Graph 作业的提交方式与 MapReduce 基本相同。如果您使用 Maven,可以从 Maven 库 中搜索 odps-sdk-graph 获取不同版本的 Java SDK,相关配置信息如下所示:

  1. <dependency>
  2. <groupId>com.aliyun.odps</groupId>
  3. <artifactId>odps-sdk-graph</artifactId>
  4. <version>0.20.7</version>
  5. </dependency>

本文将以 SSSP 算法 为例,为您介绍如何提交 Graph 作业。

操作步骤

  1. 进入 console 并运行 odpscmd。

  2. 创建输入和输出表 。

    1. create table sssp_in (v bigint, es string);
    2. create table sssp_out (v bigint, l bigint);

    创建表的更多语句请参见 DDL 语句

  3. 上传数据。

    本地数据的内容如下:

    1. 1 2:2,3:1,4:4
    2. 2 1:2,3:2,4:1
    3. 3 1:1,2:2,5:1
    4. 4 1:4,2:1,5:1
    5. 5 3:1,4:1

    以空格键做两列的分隔符,执行 Tunnel 命令上传数据:

    1. tunnel u -fd " " sssp.txt sssp_in;
  4. 编写 SSSP 示例。

    根据 Graph 开发插件 的介绍,本地编译、调试 SSSP 算法示例。本示例中假设代码被打包为 odps-graph-example-sssp.jar。

    注意

    仅需要将 SSSP 代码打包即可,不需要同时将 SDK 打入 odps-graph-example-sssp.jar 中。

  5. 添加 Jar 资源。

    1. add jar $LOCAL_JAR_PATH/odps-graph-example-sssp.jar

    注意

    创建资源的介绍请参见 资源操作

  6. 运行 SSSP。

    1. jar -libjars odps-graph-example-sssp.jar -classpath $LOCAL_JAR_PATH/odps-graph-example-sssp.jar com.aliyun.odps.graph.example.SSSP 1 sssp_in sssp_out;

    Jar 命令用于运行 MaxCompute Graph 作业,用法与 MapReduce 作业的运行命令完全一致。

    Graph 作业执行时命令行会打印作业实例 ID,执行进度,结果 Summary 等。

    输出示例如下所示:

    1. ID = 20130730160742915gl205u3
    2. 2013-07-31 00:18:36 SUCCESS
    3. Summary:
    4. Graph Input/Output
    5. Total input bytes=211
    6. Total input records=5
    7. Total output bytes=161
    8. Total output records=5
    9. graph_input_[bsp.sssp_in]_bytes=211
    10. graph_input_[bsp.sssp_in]_records=5
    11. graph_output_[bsp.sssp_out]_bytes=161
    12. graph_output_[bsp.sssp_out]_records=5
    13. Graph Statistics
    14. Total edges=14
    15. Total halted vertices=5
    16. Total sent messages=28
    17. Total supersteps=4
    18. Total vertices=5
    19. Total workers=1
    20. Graph Timers
    21. Average superstep time (milliseconds)=7
    22. Load time (milliseconds)=8
    23. Max superstep time (milliseconds) =14
    24. Max time superstep=0
    25. Min superstep time (milliseconds)=5
    26. Min time superstep=2
    27. Setup time (milliseconds)=277
    28. Shutdown time (milliseconds)=20
    29. Total superstep time (milliseconds)=30
    30. Total time (milliseconds)=344
    31. OK

    注意

    如果您需要使用 Graph 功能,直接开通提交图计算作业即可。

本文导读目录