Bu konu, bir Graph işinin nasıl yazılacağını göstermek için örnek olarak Single Source Shortest Path (SSSP) algoritmasını kullanır.
Ön koşullar
MaxCompute istemcisini yükleyip yapılandırdınız ve bir MaxCompute örnek bağlantısı kurdunuz. Daha fazla bilgi için bkz. MaxCompute istemcisi.
IntelliJ IDEA 2024'ü ve bununla uyumlu, 2024 yılında güncellenmiş bir MaxCompute Studio sürümünü yükleyip yapılandırdınız. Daha fazla bilgi için bkz. MaxCompute Studio'yu yükleme ve MaxCompute Studio'yu yapılandırma.
Apache Maven sürüm
apache-maven-3.5.0yapılandırdınız.JDK 1.8 veya sonraki bir sürümü yüklediniz.
-
Bir veri dosyası hazırladınız. Bu konu, örnek olarak sssp.txt dosyasını kullanır.
1 2:2,3:1,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
Yordam
-
MaxCompute istemcisini başlatın ve giriş tablosu sssp_in ile çıkış tablosu sssp_out'u oluşturmak için aşağıdaki komutları çalıştırın.
CREATE TABLE sssp_in (v bigint, es string); CREATE TABLE sssp_out (vertex bigint, value bigint); -
Verileri sssp.txt dosyasından sstp_in tablosuna yüklemek için Tunnel komutunu çalıştırın; sütun ayırıcı olarak boşluk karakterini kullanın.
tunnel u -fd " " sssp.txt sssp_in;NotBu örnekte, sssp.txt dosyası MaxCompute istemcisinin
bindizininde kaydedilmiştir. sssp.txt dosyanız için doğru yolu belirttiğinizden emin olun. -
SSSP örneğini yazın.
-
IntelliJ IDEA'da bir MaxCompute Java Module oluşturun ve adını odps-graph-example-sssp olarak belirleyin.
NotDaha fazla bilgi için bkz. MaxCompute Java Module oluşturma.
-
Yeni odps-graph-example-sssp modülünde
BaseLoadingVertexResolversınıfını veSSSPsınıfını oluşturun. Tam Java kodu için bkz. Single Source Shortest Path içindeki yönlü grafik örneği. Aşağıdaki bağımlılıkları pom.xml dosyasına ekleyin.<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> <!-- For local testing --> <dependency> <groupId>com.aliyun.odps</groupId> <artifactId>odps-graph-local</artifactId> <version>0.48.0-public</version> </dependency> -
IntelliJ IDEA'da MaxCompute Studio kullanarak projeyi paketleyin. Ayrıntılı talimatlar için bkz. Paketleme, yükleme ve kaydetme.
NotBu örnekte, MaxCompute projesine dağıtılan JAR paketi odps-graph-example-sssp.jar olarak adlandırılmıştır.
-
-
MaxCompute istemcisinde SSSP işini çalıştırmak için aşağıdaki komutu çalıştırın.
jar -libjars odps-graph-example-sssp.jar -classpath <LOCAL_JAR_PATH>/odps-graph-example-sssp.jar SSSP 1 sssp_in sssp_out;LOCAL_JAR_PATH: odps-graph-example-sssp.jar dosyasının yerel yolu.
İş tamamlandığında, sssp_out tablosunu sorgulamak ve sonucu doğrulamak için
select * from sssp_out;komutunu çalıştırın.vertex value 1 0 2 2 3 1 4 3 5 2vertex: Bir köğün ID'si.
value: İlgili kökten kaynak köğe (1) olan en kısa mesafe.
NotGraph özellikini kullanmak için yalnızca bir Graph işi göndermeniz yeterlidir.