全部产品
Search
文档中心

Platform For AI:Menghitung Segitiga

更新时间:Jun 22, 2025

Algoritma penghitungan segitiga adalah algoritma analisis graf yang digunakan untuk mengidentifikasi dan menghitung jumlah segitiga dalam sebuah graf. Segitiga adalah loop tertutup yang dibentuk oleh tiga simpul yang saling terhubung. Algoritma ini biasa diterapkan dalam bidang seperti analisis jaringan sosial, perhitungan koefisien kluster jaringan, dan deteksi komunitas. Anda dapat menilai kepadatan lokal dari sebuah graf serta tingkat keterhubungan erat antar simpul dengan menghitung jumlah segitiga.

Konfigurasikan komponen

Metode 1: Konfigurasikan komponen pada halaman pipeline

Pada halaman detail pipeline di Machine Learning Designer, tambahkan komponen Counting Triangle ke pipeline dan konfigurasikan parameter sesuai tabel berikut.

Tab

Parameter

Deskripsi

Fields Setting

Start Vertex

Kolom simpul awal dalam tabel tepi.

End Vertex

Kolom simpul akhir dalam tabel tepi.

Parameters Setting

Largest Vertex Degree

Jika derajat simpul lebih besar dari nilai parameter ini, pengambilan sampel diperlukan. Nilai default: 500.

Tuning

Workers

Jumlah simpul untuk eksekusi pekerjaan paralel. Tingkat paralelisme dan biaya komunikasi kerangka meningkat seiring dengan nilai parameter ini.

Memory Size per Worker (MB)

Ukuran maksimum memori yang dapat digunakan oleh satu pekerjaan. Unit: MB. Nilai default: 4096.

Jika ukuran memori yang digunakan melebihi nilai parameter ini, kesalahan OutOfMemory dilaporkan.

Data Split Size (MB)

Ukuran pembagian data. Unit: MB. Nilai default: 64.

Metode 2: Konfigurasikan komponen menggunakan perintah PAI

Konfigurasikan parameter komponen menggunakan perintah PAI. Anda dapat menggunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat Skenario 4: Jalankan Perintah PAI dalam Komponen Skrip SQL.

PAI -name TriangleCount
    -project algo_public
    -DinputEdgeTableName=TriangleCount_func_test_edge
    -DfromVertexCol=flow_out_id
    -DtoVertexCol=flow_in_id
    -DoutputTableName=TriangleCount_func_test_result;

Parameter

Diperlukan

Nilai default

Deskripsi

inputEdgeTableName

Ya

Tidak ada nilai default

Nama tabel tepi input.

inputEdgeTablePartitions

Tidak

Tabel penuh

Partisi dalam tabel tepi input.

fromVertexCol

Ya

Tidak ada nilai default

Kolom simpul awal dalam tabel tepi input.

toVertexCol

Ya

Tidak ada nilai default

Kolom simpul akhir dalam tabel tepi input.

outputTableName

Ya

Tidak ada nilai default

Nama tabel output.

outputTablePartitions

Tidak

Tidak ada nilai default

Partisi dalam tabel output.

lifecycle

Tidak

Tidak ada nilai default

Siklus hidup tabel output.

maxEdgeCnt

Tidak

500

Jika derajat simpul lebih besar dari nilai parameter ini, pengambilan sampel diperlukan.

workerNum

Tidak

Tidak ada nilai default

Jumlah simpul untuk eksekusi pekerjaan paralel. Tingkat paralelisme dan biaya komunikasi kerangka meningkat seiring dengan nilai parameter ini.

workerMem

Tidak

4096

Ukuran maksimum memori yang dapat digunakan oleh satu pekerjaan. Unit: MB. Nilai default: 4096.

Jika ukuran memori yang digunakan melebihi nilai parameter ini, kesalahan OutOfMemory dilaporkan.

splitSize

Tidak

64

Ukuran pembagian data. Unit: MB.

Contoh

  1. Pada halaman detail pipeline, tambahkan komponen SQL Script ke pipeline dan klik komponen tersebut. Pada tab Parameters Setting, hapus centang pada Use Script Mode dan Whether the system adds a create table statement, lalu masukkan pernyataan SQL berikut di editor SQL Script:

    drop table if exists TriangleCount_func_test_edge;
    create table TriangleCount_func_test_edge as
    select * from
    (
      select '1' as flow_out_id,'2' as flow_in_id
      union all
      select '1' as flow_out_id,'3' as flow_in_id
      union all
      select '1' as flow_out_id,'4' as flow_in_id
      union all
      select '1' as flow_out_id,'5' as flow_in_id
      union all
      select '1' as flow_out_id,'6' as flow_in_id
      union all
      select '2' as flow_out_id,'3' as flow_in_id
      union all
      select '3' as flow_out_id,'4' as flow_in_id
      union all
      select '4' as flow_out_id,'5' as flow_in_id
      union all
      select '5' as flow_out_id,'6' as flow_in_id
      union all
      select '5' as flow_out_id,'7' as flow_in_id
      union all
      select '6' as flow_out_id,'7' as flow_in_id
    )tmp;
    drop table if exists TriangleCount_func_test_result;
    create table TriangleCount_func_test_result
    (
      node1 string,
      node2 string,
      node3 string
    );

    Struktur data

    image

  2. Tambahkan komponen SQL Script ke pipeline dan klik komponen tersebut. Pada tab Parameters Setting, hapus centang pada Use Script Mode dan Whether the system adds a create table statement, lalu masukkan pernyataan SQL berikut di editor SQL Script. Hubungkan komponen ini dengan komponen yang ditambahkan di Langkah 1.

    drop table if exists ${o1};
    PAI -name TriangleCount
        -project algo_public
        -DinputEdgeTableName=TriangleCount_func_test_edge
        -DfromVertexCol=flow_out_id
        -DtoVertexCol=flow_in_id
        -DoutputTableName=${o1};
  3. Di sudut kiri atas kanvas, klik image untuk menjalankan pipeline.

  4. Setelah pipeline dijalankan, klik kanan komponen yang ditambahkan di Langkah 2, pilih View data, lalu pilih SQL Script Output.

    | node1 | node2 | node3 |
    | ----- | ----- | ----- |
    | 1     | 2     | 3     |
    | 1     | 3     | 4     |
    | 1     | 4     | 5     |
    | 1     | 5     | 6     |
    | 5     | 6     | 7     |