本文为您介绍如何使用MaxCompute Studio开发Graph,包括编写Graph、调试Graph、打包上传和运行Graph。
前提条件
您需要完成以下操作:
编写Graph
创建MaxCompute Java Class。
本文以创建
BaseLoadingVertexResolver
类和SSSP
类为例。在Project区域,右键单击Module的源码目录(即 ),选择 。
填写Name并选择类型为GraphLoader或Vertex,按下Enter键。
Name:填写创建的MaxCompute Java Class名称。
说明如果还没创建package,可以在此处填写 packagename.classname,会自动生成package。
选择类型为GraphLoader或Vertex,类型介绍如下:
GraphLoader:用于载入图。通过GraphJob的setGraphLoaderClass接口提供GraphLoader实现。
Vertex:是图的点的抽象,包含属性:id、value、halted、edges。通过GraphJob的setVertexClass接口提供Vertex实现。
创建成功后,在编辑界面开发Java程序。
BaseLoadingVertexResolver
类和SSSP
代码示例详情,请参见单源最短距离。
配置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> <!-- 用于本地测试 --> <dependency> <groupId>com.aliyun.odps</groupId> <artifactId>odps-graph-local</artifactId> <version>0.48.0-public</version> </dependency>
pom.xml文件配置完成后,您可以在Maven面板确认对应的依赖包是否已加载成功。
通过本地运行调试Graph
通过本地运行方式测试,查看Graph的运行结果是否符合预期。
右键单击编写完成的Java脚本,选择Run。
在Run/Debug Configurations页面上配置运行参数。
MaxCompute project:选择运行Graph的MaxCompute项目。
Download Record limit:下载数据记录限制。默认为100条。
单击OK,开始运行。
本文选择本地运行,因此将会读取warehouse目录中指定的表数据作为输入,您可以在控制台查看日志输出。更多warehouse目录的介绍详情,请参见warehouse目录。
打包上传
调试成功之后,将Java程序打成JAR包,并作为资源上传至MaxCompute服务端。详情请参见打包、上传和注册。
运行Graph
在IntelliJ IDEA工具的左侧导航栏,单击Project Explorer。
右键单击项目名称,选择Open in Console。
在Console区域运行Graph,命令示例如下,请根据实际情况替换其中的MainClass、输入表及输出表后运行命令。
更多命令,请参见JAR命令。
jar -libjars xxx.jar -classpath /Users/home/xxx.jar com.aliyun.odps.graph.examples.PageRank pagerank_in pagerank_out;
PageRank:指Graph程序中定义的MainClass。
pagerank_in:输入表。
pagerank_out:输出表。