このトピックでは、MaxCompute Studioを使用してGraphプログラムを開発する方法について説明します。 これにより、Graphプログラムの作成、デバッグ、パッケージ化、アップロード、および実行方法について学習できます。
前提条件
次の前提条件が満たされています。
MaxCompute Studioはプロジェクトに接続されています。 詳細については、「プロジェクト接続の管理」をご参照ください。
MaxCompute Javaモジュールが作成されます。 詳細については、「MaxCompute Javaモジュールの作成」をご参照ください。
Graphプログラムを書く
MaxCompute Javaクラスを作成します。
このトピックでは、
BaseLoadingVertexResolver
クラスとSSSP
クラスの作成を例として使用します。プロジェクトタブの左側のナビゲーションウィンドウで、を選択します。 を選択して、javaを右クリックし、
[名前] を指定し、[GraphLoader] または [Vertex] を選択して、Enterキーを押します。
Name: 作成するMaxCompute Javaクラスの名前。
説明パッケージが作成されていない場合は、packagename.classnameと入力します。 システムは自動的にパッケージを作成します。
クラスタイプとして [GraphLoader] または [Vertex] を選択します。
説明GraphLoader: グラフを読み込みます。 このクラスは、GraphJobのsetGraphLoaderClassメソッドを使用して指定できます。
Vertex: グラフ内の頂点を定義します。 頂点には、id、value、停止、およびエッジのプロパティがあります。 このクラスは、GraphJobのsetVertexClassメソッドを使用して指定できます。
MaxCompute Javaクラスを作成したら、エディタでJavaプログラムを開発します。
BaseLoadingVertexResolver
クラスとSSSP
クラスの詳細については、「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> <!-- used for local test --> <dependency> <groupId>com.aliyun.odps</groupId> <artifactId>odps-graph-local</artifactId> <version>0.48.0-public</version> </dependency>
pom.xmlファイルの設定が完了したら、Mavenペインで依存関係が正常に読み込まれたことを確認できます。
Graphプログラムのデバッグ
ローカルでGraphプログラムを実行し、結果が期待を満たすかどうかを確認します。
作成したJavaスクリプトを右クリックし、実行 を選択します。
実行 /デバッグ設定ダイアログボックスで、ランタイムパラメーターを設定します。
MaxComputeプロジェクト: Graphプログラムを実行するMaxComputeプロジェクト。
Download Record limit: ダウンロードできるレコードの最大数。 デフォルト値:100
[OK] をクリックしてUDFを実行します。
このトピックではローカル実行を選択するため、システムはwarehouseディレクトリ内の指定されたテーブルからデータを入力として読み取ります。 コンソールでログ出力を表示できます。 warehouseの詳細については、「概要」をご参照ください。
MapReduceプログラムのパッケージ化とアップロード
作成したMapReduceプログラムをデバッグした後、MapReduceプログラムをJARファイルにパッケージ化し、そのファイルをリソースとしてMaxComputeプロジェクトにアップロードします。 詳細については、「Javaプログラムのパッケージ化、アップロード、登録」をご参照ください。
Graphプログラムを実行する
IntelliJ IDEAツールの左側のナビゲーションウィンドウで、[Project Explorer] をクリックします。
MaxComputeプロジェクトの名前を右クリックし、コンソールで開く を選択します。
[コンソール] セクションで、次のコマンドを実行します。 実際の状況に基づいて、PageRank、pagerank_in、pagerank_outを置き換えます。
その他のコマンドについては、「MapReduceジョブの送信」をご参照ください。
jar -libjars xxx.jar -classpath /Users/home/xxx.jar com.aliyun.odps.graph.examples.PageRank pagerank_in pagerank_out;
PageRank: Graphプログラムで定義されているメインクラス。
pagerank_in: 入力テーブル。
pagerank_out: 出力テーブル。