すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:SDKの設定

最終更新日:Jan 07, 2025

このトピックでは、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のsetAggregatorClass(Class...) メソッドを使用して、複数のAggregatorクラスを指定できます。

Combiner

出力レコードを同じキーで要約します。 このクラスは、GraphJobのsetCombinerClassメソッドを使用して指定できます。

Counters

ワーカーのカウントに使用されるカウンターを定義します。 ジョブの操作ロジックでは、WorkerContextクラスを使用して、ワーカーのカウンターとカウントを取得できます。 その後、フレームワークはワーカーの合計を自動的に計算します。

WorkerContext

ワーカーがグラフトポロジの変更、メッセージの送信、結果の書き込み、リソースの読み取りを可能にする機能など、フレームワークによって提供される機能をカプセル化するコンテキストを定義します。