全部产品
MaxCompute

编写Graph

更新时间:2017-06-07 13:26:11   分享:   

Graph 作业的提交方式与 MapReduce 基本相同 。下面,以 SSSP算法 为例,说明如何提交 Graph 作业 。使用 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>

下面将以运行示例程序单源最短距离(Single Source Shortest Path,简写:SSSP)为例, 帮助您快速掌握如何运行 Graph 作业 。

1 进入 console 并运行 odpscmd 。

2 创建输入输出表 。

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

备注:创建 Table 语句请参考 SQL Create描述

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 等 。

7 输出示例如下:

  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 功能,直接开通提交图计算作业即可 。

本文导读目录
本文导读目录
以上内容是否对您有帮助?