SDK配置说明

本文为您介绍几种不同版本的Java SDK的相关配置信息。

如果您使用Maven,可以从Maven库中搜索odps-sdk-graph获取不同版本的Java SDK。相关配置信息,如下所示。

<dependency>
    <groupId>com.aliyun.odps</groupId>
    <artifactId>odps-sdk-graph</artifactId>
    <version>0.20.7-public</version>
</dependency>

主要接口

说明

GraphJob

GraphJob继承自JobConf,用于定义、提交和管理一个MaxCompute Graph作业。

Vertex

Vertex是图的点的抽象,包含属性:id、value、halted、edges。通过GraphJob的setVertexClass接口提供Vertex实现。

Edge

Edge是图的边的抽象,包含属性:destVertexId、value。图数据结构采用邻接表,点的出边保存在点的edges中。

GraphLoader

GraphLoader用于载入图。通过GraphJob的setGraphLoaderClass接口提供GraphLoader实现。

VertexResolver

VertexResolver用于自定义图拓扑修改时的冲突处理逻辑。通过GraphJob的setLoadingVertexResolverClasssetComputingVertexResolverClass接口,提供图加载和迭代计算过程中的图拓扑修改的冲突处理逻辑。

Partitioner

Partitioner用于对图进行划分,使得计算可以分片进行。通过GraphJob的接口提供Partitioner实现,默认采用HashPartitioner,即对点ID求哈希值然后对Worker数目取模。

WorkerComputer

WorkerComputer允许在Worker开始和退出时执行用户自定义的逻辑。通过GraphJob的setWorkerComputerClass接口提供WorkerComputer实现。

Aggregator

Aggregator的setAggregatorClass(Class…)定义一个或多个Aggregator。

Combiner

Combiner的setCombinerClass设置Combiner。

Counters

计数器。在作业运行逻辑中,可以通过WorkerContext接口取得计数器并进行计数,框架会自动进行汇总。

WorkerContext

上下文对象,封装了框架提供的功能。例如,修改图拓扑结构、发送消息、写结果、读取资源等。