このトピックでは、MaxCompute Graph SDK for Javaのクラスと、SDKの設定方法について説明します。
Mavenを使用している場合は、Mavenリポジトリでodps-sdk-graphを検索して、Java用SDKの最新バージョンを見つけることができます。 次のMaven依存関係を使用して、プロジェクトでSDKを宣言できます。
<dependency>
<groupId>com.aliyun.odps</groupId>
<artifactId>odps-sdk-graph</artifactId>
<version>0.20.7-public</version>
</dependency>
クラス | 説明 |
GraphJob | MaxCompute Graphジョブを定義、送信、および管理します。 クラスはJobConfを継承します。 |
Vertex | グラフ内の頂点を定義します。 頂点には、id、value、停止、およびエッジのプロパティがあります。 このクラスは、GraphJobのsetVertexClassメソッドを使用して指定できます。 |
Edge | グラフ内のエッジを定義します。 エッジには、destVertexIdとvalueのプロパティがあります。 MaxCompute Graphは、隣接リストをデータ構造として使用します。 頂点のアウトバウンドエッジは、頂点のエッジプロパティによって指定されます。 |
GraphLoader | グラフをロードします。 このクラスは、GraphJobのsetGraphLoaderClassメソッドを使用して指定できます。 |
VertexResolver | グラフトポロジの変更中に競合を処理するためのカスタムロジックを定義します。 このクラスを指定するには、GraphJobのsetLoadingVertexResolverClassおよびsetComputingVertexResolverClassメソッドを使用します。 setLoadingVertexResolverClassメソッドは、グラフの読み込み中に使用されるクラスを指定しますが、setComputingVertexResolverClassメソッドは、反復計算中に使用されるクラスを指定します。 |
Partitioner | 頂点をワーカーに配布する方法を指定します。 このようにして、複数のワーカーが同時にコンピューティングを実行できます。 このクラスは、GraphJobのsetPartitionerClassメソッドを使用して指定できます。 デフォルトでは、HashPartitionerクラスが使用されます。 HashPartitionerは、頂点IDのハッシュ値を計算し、ハッシュ値をワーカーの数で割り、ハッシュ値の余りを取得します。 この剰余は、頂点が分配されるワーカーを指定する。 |
WorkerComputer | ワーカーの開始および停止時に実行するカスタム操作を定義します。 このクラスは、GraphJobのsetWorkerComputerClassメソッドを使用して指定できます。 |
Aggregator | グローバル情報の処理と要約。 GraphJobの |
Combiner | 出力レコードを同じキーで要約します。 このクラスは、GraphJobのsetCombinerClassメソッドを使用して指定できます。 |
Counters | ワーカーのカウントに使用されるカウンターを定義します。 ジョブの操作ロジックでは、WorkerContextクラスを使用して、ワーカーのカウンターとカウントを取得できます。 その後、フレームワークはワーカーの合計を自動的に計算します。 |
WorkerContext | ワーカーがグラフトポロジの変更、メッセージの送信、結果の書き込み、リソースの読み取りを可能にする機能など、フレームワークによって提供される機能をカプセル化するコンテキストを定義します。 |