このトピックでは、MaxCompute Studio でグラフプログラムを開発する方法について説明します。このプロセスには、プログラムの作成、デバッグ、パッケージ化、アップロード、および実行が含まれます。
前提条件
次のタスクを完了します。
グラフプログラムの作成
-
MaxCompute Java クラスを作成します。
このトピックでは、
BaseLoadingVertexResolverクラスとSSSPクラスを例として使用します。[Project] ペインで、モジュールのソースコードディレクトリ (つまり、) を右クリックし、 を選択します。
-
名前を入力し、タイプとして GraphLoader または Vertex を選択して、Enter キーを押します。
-
名前:作成する MaxCompute Java クラスの名前を入力します。
説明パッケージを作成していない場合は、packagename.classname と入力します。パッケージは自動的に作成されます。
-
GraphLoader または Vertex を選択します。各タイプの詳細を以下に示します。
-
GraphLoader:グラフのロードに使用します。GraphJob の setGraphLoaderClass インターフェイスを使用して、GraphLoader の実装を提供します。
-
Vertex:グラフの頂点の抽象化です。これには、ID、値、停止状態、エッジなどのプロパティが含まれます。GraphJob の setVertexClass インターフェイスを使用して、Vertex の実装を提供します。
-
-
-
クラスが作成されたら、エディターで 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> <!-- ローカルテスト用 --> <dependency> <groupId>com.aliyun.odps</groupId> <artifactId>odps-graph-local</artifactId> <version>0.48.0-public</version> </dependency>pom.xml ファイルを設定した後、Maven ペインで依存関係がロードされていることを確認します。
ローカル実行によるデバッグ
グラフプログラムをローカルで実行して、出力が期待どおりであることを確認します。
-
Java ファイルを右クリックし、Run を選択します。
-
Run/Debug Configurations ダイアログボックスで、実行パラメーターを設定します。
MaxCompute project については、左側のドロップダウンリストから local を選択し、右側のドロップダウンリストからターゲットプロジェクト (例:example_project) を選択します。
-
MaxCompute project:グラフプログラムを実行するプロジェクト。
-
Download Record limit:ダウンロードするレコードの最大数。デフォルトは 100 です。
-
-
OK をクリックして実行を開始します。
ローカル実行の場合、プログラムは入力として warehouse ディレクトリ内の指定されたテーブルからデータを読み取ります。コンソールでログ出力を表示できます。warehouse ディレクトリの詳細については、「warehouse ディレクトリ」をご参照ください。
パッケージ化とアップロード
プログラムをデバッグした後、JAR ファイルにパッケージ化し、リソースとして MaxCompute にアップロードします。詳細については、「パッケージ化、アップロード、登録」をご参照ください。
グラフプログラムの実行
-
IntelliJ IDEA の左側のナビゲーションウィンドウで、Project ペインを開きます。
-
プロジェクト名を右クリックし、Open in Console を選択します。
-
Console ペインで、グラフプログラムを実行します。次のコマンドは一例です。コマンドを実行する前に、メインクラス、入力テーブル、および出力テーブルを実際の値に置き換えてください。
その他のコマンドについては、「JAR コマンド」をご参照ください。
jar -libjars xxx.jar -classpath /Users/home/xxx.jar com.aliyun.odps.graph.examples.PageRank pagerank_in pagerank_out;-
PageRank:グラフプログラムで定義されたメインクラス。
-
pagerank_in:入力テーブル。
-
pagerank_out:出力テーブル。
-