This topic uses the SSSP algorithm as an example to describe how to submit Graph jobs.
Submitting a Graph job is similar to submitting a MapReduce job. Maven users can search
odps-sdk-graph
at Maven library to download the preferred Java SDK (available in different versions). The configuration
information is as follows:
<dependency>
<groupId>com.aliyun.odps</groupId>
<artifactId>odps-sdk-graph</artifactId>
<version>0.20.7</version>
</dependency>
Procedure
- Log on to the console and run
odpscmd
. - Create input and output tables.
create table sssp_in (v bigint, es string); create table sssp_out (v bigint, l bigint);
For more information about table creation statements, see Table operations.
- Upload data.
Local data is as follows:
2, 2, 3, 4, 4 2 1:2,3:2,4:1 3 1:1,2:2,5:1 4 1:4,2:1,5:1 5 3:1,4:1
A space is used to separate two columns.tunnel u -fd " " sssp.txt sssp_in;
- Compile an SSSP example.
Compile and debug the SSSP example on your local PC. In this example, the code is packaged as the odps-graph-example-sssp.jar file.Note You only need to package the SSSP code. You do not need to package the SDK in the odps-graph-example-sssp.jar file.
- Add JAR resources.
add jar $LOCAL_JAR_PATH/odps-graph-example-sssp.jar
Note For more information, see Resources operations. - Run SSSP.
jar -libjars odps-graph-example-sssp.jar -classpath $LOCAL_JAR_PATH/odps-graph-example-sssp.jar com.aliyun.odps.graph.example.SSSP 1 sssp_in sssp_out;
JAR commands are used to run MaxCompute Graph jobs in the same way as the commands for running MapReduce jobs.
When a Graph job is running, the corresponding instance ID, progress, and result summary are displayed in the command output, for example:ID = 20130730160742915gl205u3 2013-07-31 00:18:36 SUCCESS Summary: Graph Input/Output Total input bytes=211 Total input records = 5 Total output bytes=161 Total output records=5 Graph_input _ [BSP. sssp_in] _ bytes = 211 Graph_input _ [BSP. sssp_in] _ records = 5 graph_output_[bsp.sssp_out]_bytes=161 Graph_output _ [BSP. sssp_out] _ records = 5 Graph statistics Total edges=14 Total halted vertices=5 Total sent messages=28 Total supersteps=4 Total vertices=5 Total workers=1 Graph timers Average superstep time (milliseconds) = 7 Load time (milliseconds)=8 Max superstep time (milliseconds) =14 Max time superstep=0 Min superstep time (milliseconds) = 5 Min time superstep=2 Setup Time (milliseconds) = 277 Shutdown Time (milliseconds) = 20 Total superb time (milliseconds) = 30 Total time (milliseconds)=344 OK
Note To use the Graph function, you only need to open and submit a Graph job.