全部产品
Search
文档中心

DataWorks:Sumber data GDB

更新时间:Jul 02, 2025

DataWorks menyediakan Graph Database (GDB) Reader dan GDB Writer untuk membaca data dari dan menulis data ke sumber data GDB. Topik ini menjelaskan kemampuan sinkronisasi data dari atau ke sumber data GDB.

Batasan

Pembacaan data batch

Penulisan data batch

  • Anda harus mengonfigurasi dua tugas sinkronisasi untuk menyinkronkan data tentang simpul dan tepi secara terpisah.

  • Simpul atau tepi yang datanya akan disinkronkan harus memiliki nama agar DataWorks dapat melintasi dan mendapatkan data terkait.

  • Nilai kunci utama simpul dan tepi di GDB adalah bertipe STRING. Tipe data yang akan disinkronkan harus dikonfigurasi sebagai tipe STRING. Jika tipe yang dikonfigurasi adalah tipe numerik, seperti LONG, GDB Reader secara paksa mengonversi nilai kunci utama menjadi tipe STRING. Jika konversi gagal, nilai kunci utama akan hilang.

  • Untuk nilai properti simpul atau tepi, tipe data untuk nilai properti yang akan disinkronkan harus sama dengan tipe data asli dalam instance GDB. Jika tipe data untuk nilai properti berbeda dari tipe data asli, GDB Reader secara paksa mengonversi nilai properti ke tipe data yang ditentukan. Jika konversi gagal, nilai properti akan hilang.

  • Jika Anda menjalankan tugas untuk menyinkronkan data simpul beberapa kali, nilai yang diperoleh dari properti SET mungkin berbeda.

  • Jika Anda mengonfigurasi semua properti dalam format JSON, properti SET yang hanya berisi satu nilai dianggap sebagai properti umum.

  • Kecuali dinyatakan lain, nama bidang atau nilai enumerasi dalam topik ini bersifat peka huruf besar-kecil.

  • GDB Reader hanya mendukung format pengkodean UTF-8. Data yang disinkronkan harus dikodekan dalam UTF-8.

  • Hanya GDB versi 1.0.20 atau lebih baru yang mendukung properti SET. Konfirmasikan versi GDB sebelum Anda menggunakan properti SET.

  • Anda harus menjalankan tugas sinkronisasi untuk menyinkronkan data simpul sebelum menjalankan tugas sinkronisasi untuk menyinkronkan data tepi.

  • Batasan pada simpul:

    • Simpul harus memiliki nama, yang ditentukan oleh parameter label.

    • Simpul harus memiliki kunci utama unik bertipe STRING. Jika kunci utama bukan string, GDB Writer secara paksa mengonversi kunci utama menjadi string.

    • Berhati-hatilah saat mengonfigurasi parameter idTransRule. Jika Anda ingin menyetel parameter ini ke none, Anda harus memastikan bahwa kunci utama setiap simpul unik di antara semua simpul.

  • Batasan pada tepi:

    • Tepi harus memiliki nama, yang ditentukan oleh parameter label.

    • Kunci utama bersifat opsional untuk sebuah tepi.

      • Jika Anda ingin menentukan kunci utama untuk sebuah tepi, Anda harus memastikan bahwa kunci utama tersebut unik di antara semua tepi.

      • Jika Anda tidak menentukan kunci utama untuk sebuah tepi, GDB Writer secara otomatis menghasilkan pengenal unik universal (UUID) bertipe STRING untuk tepi tersebut. Jika UUID bukan string, GDB Writer secara paksa mengonversi UUID menjadi string.

    • Berhati-hatilah saat mengonfigurasi parameter idTransRule. Jika Anda ingin menyetel parameter ini ke none, Anda harus memastikan bahwa kunci utama setiap tepi unik di antara semua tepi.

    • Parameter srcIdTransRule dan dstIdTransRule diperlukan untuk sebuah tepi. Nilai kedua parameter tersebut harus sama dengan nilai parameter idTransRule dari simpul terkait.

  • Kecuali dinyatakan lain, nama bidang dan nilai enumerasi dalam topik ini bersifat peka huruf besar-kecil.

  • GDB Writer hanya mendukung format pengkodean UTF-8. Data sumber harus dikodekan dalam UTF-8.

  • Karena kendala jaringan, tugas sinkronisasi yang digunakan untuk menyinkronkan data ke database GDB hanya dapat berjalan pada kelompok sumber daya eksklusif untuk Data Integration. Anda harus membeli kelompok sumber daya eksklusif untuk Data Integration dan mengaitkan kelompok tersebut dengan virtual private cloud (VPC) tempat instance GDB berada sebelumnya.

Mengembangkan tugas sinkronisasi data

Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi data, lihat bagian-bagian berikut. Untuk pengaturan parameter, lihat tip info setiap parameter pada tab konfigurasi tugas.

Menambahkan sumber data

Mengonfigurasi tugas sinkronisasi batch untuk menyinkronkan data tabel tunggal

Lampiran: Kode dan parameter

Lampiran: Mengonfigurasi tugas sinkronisasi batch menggunakan editor kode

Kode untuk GDB Reader

Dalam kode berikut, dua tugas sinkronisasi dikonfigurasi untuk membaca data dari instance GDB.

  • Mengonfigurasi tugas sinkronisasi untuk membaca data simpul dari instance GDB

    {
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        },
        "setting":{
            "errorLimit":{
                "record":"100"  // Jumlah maksimum catatan data kotor yang diizinkan.
            },
            "jvmOption":"",
            "speed":{
                "concurrent":3,
                "throttle":true,/// Menentukan apakah throttling diaktifkan. Nilai false menunjukkan throttling dinonaktifkan, dan nilai true menunjukkan throttling diaktifkan. Parameter mbps hanya berlaku jika parameter throttle disetel ke true.
                "mbps":"12"// Laju transmisi maksimum. Unit: MB/s.
            }
        },
        "steps":[
            {
                "category":"reader",
                "name":"Reader",
                "parameter":{
                    "host": "gdb-xxxxxx.aliyuncs.com", // Titik akhir yang digunakan untuk terhubung ke instance GDB.
                    "port": 8182, // Nomor port yang digunakan untuk terhubung ke instance GDB.
                    "username": "gdb", // Nama pengguna yang digunakan untuk terhubung ke instance GDB.
                    "password": "gdb", // Kata sandi yang digunakan untuk terhubung ke instance GDB.
                    "labelType": "VERTEX", // Jenis label. Nilai VERTEX menunjukkan simpul.
                    "labels": ["label1", "label2"],  // Label simpul yang akan disinkronkan. Jika parameter ini dibiarkan kosong, semua simpul disinkronkan.
                    "column": [
                        {
                            "name": "id",               // Nama properti simpul.
                            "type": "string",           // Tipe data untuk menyimpan data yang akan disinkronkan.
                            "columnType": "primaryKey"  // Kategori properti simpul. Nilai primaryKey menunjukkan bahwa data yang disinkronkan adalah kunci utama simpul dan bertipe STRING dalam instance GDB.
                        },
                        {
                            "name": "label",              // Nama properti simpul.
                            "type": "string",             // Tipe data untuk menyimpan data yang akan disinkronkan.
                            "columnType": "primaryLabel"  // Kategori properti simpul. Nilai primaryLabel menunjukkan bahwa data yang disinkronkan adalah label simpul dan bertipe STRING dalam instance GDB.
                        },
                        {
                            "name": "age",                   // Nama properti simpul.
                            "type": "int",                   // Tipe data untuk menyimpan data yang akan disinkronkan.
                            "columnType": "vertexProperty"   // Kategori properti simpul. Nilai vertexProperty menunjukkan properti simpul umum.
                        }
                    ]
                },
                "stepType":"gdb"
            },
            {
                "category":"writer",
                "name":"Writer",
                "parameter":{
                    "print": true
                },
                "stepType":"stream"
            }
        ]
    }
  • Mengonfigurasi tugas sinkronisasi untuk membaca data tepi dari instance GDB

    {
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        },
        "setting":{
            "errorLimit":{
                "record":"100"  // Jumlah maksimum catatan data kotor yang diizinkan.
            },
            "jvmOption":"",
            "speed":{
                "concurrent":3,
                "throttle":true,// Menentukan apakah throttling diaktifkan. Nilai false menunjukkan throttling dinonaktifkan, dan nilai true menunjukkan throttling diaktifkan. Parameter mbps hanya berlaku jika parameter throttle disetel ke true.
                "mbps":"12"// Laju transmisi maksimum. Unit: MB/s.
            }
        },
        "steps":[
            {
                "category":"reader",
                "name":"Reader",
                "parameter":{
                    "host": "gdb-xxxxxx.aliyuncs.com", // Titik akhir yang digunakan untuk terhubung ke instance GDB.
                    "port": 8182, // Nomor port yang digunakan untuk terhubung ke instance GDB.
                    "username": "gdb", // Nama pengguna yang digunakan untuk terhubung ke instance GDB.
                    "password": "gdb", // Kata sandi yang digunakan untuk terhubung ke instance GDB.
                    "labelType": "EDGE", // Jenis label. Nilai EDGE menunjukkan tepi.
                    "labels": ["label1", "label2"],  // Label tepi yang akan disinkronkan. Jika parameter ini dibiarkan kosong, semua tepi disinkronkan.
                    "column": [
                        {
                            "name": "id",               // Nama properti tepi.
                            "type": "string",           // Tipe data untuk menyimpan data yang akan disinkronkan.
                            "columnType": "primaryKey"  // Kategori properti tepi. Nilai primaryKey menunjukkan bahwa data yang disinkronkan adalah kunci utama tepi dan bertipe STRING dalam instance GDB.
                        },
                        {
                            "name": "label",              // Nama properti tepi.
                            "type": "string",             // Tipe data untuk menyimpan data yang akan disinkronkan.
                            "columnType": "primaryLabel"  // Kategori properti tepi. Nilai primaryLabel menunjukkan bahwa data yang disinkronkan adalah label tepi dan bertipe STRING dalam instance GDB.
                        },
                        {
                            "name": "srcId",               // Nama properti tepi.
                            "type": "string",              // Tipe data untuk menyimpan data yang akan disinkronkan.
                            "columnType": "srcPrimaryKey"  // Kategori properti tepi. Nilai srcPrimaryKey menunjukkan bahwa data yang disinkronkan adalah kunci utama simpul awal dan bertipe STRING dalam instance GDB.
                        },
                        {
                            "name": "srcLabel",               // Nama properti tepi.
                            "type": "string",                 // Tipe data untuk menyimpan data yang akan disinkronkan.
                            "columnType": "srcPrimaryLabel"   // Kategori properti tepi. Nilai srcPrimaryLabel menunjukkan bahwa data yang disinkronkan adalah label simpul awal dan bertipe STRING dalam instance GDB.
                        },
                        {
                            "name": "dstId",                    // Nama properti tepi.
                            "type": "string",                   // Tipe data untuk menyimpan data yang akan disinkronkan.
                            "columnType": "dstPrimaryKey"       // Kategori properti tepi. Nilai dstPrimaryKey menunjukkan bahwa data yang disinkronkan adalah kunci utama simpul akhir dan bertipe STRING dalam instance GDB.
                        },
                        {
                            "name": "dstLabel",                 // Nama properti tepi.
                            "type": "string",                   // Tipe data untuk menyimpan data yang akan disinkronkan.
                            "columnType": "dstPrimaryLabel"     // Kategori properti tepi. Nilai dstPrimaryLabel menunjukkan bahwa data yang disinkronkan adalah label simpul akhir dan bertipe STRING dalam instance GDB.
                        },
                        {
                            "name": "weight",               // Nama properti tepi.
                            "type": "double",               // Tipe data untuk menyimpan data yang akan disinkronkan.
                            "columnType": "edgeProperty"    // Kategori properti tepi. Nilai edgeProperty menunjukkan properti tepi umum.
                        }
                    ]
                },
                "stepType":"gdb"
            },
            {
                "category":"writer",
                "name":"Writer",
                "parameter":{
                    "print": true
                },
                "stepType":"stream"
            }
        ]
    }

Parameter dalam kode untuk GDB Reader

Parameter

Deskripsi

Diperlukan

Nilai default

host

Titik akhir yang digunakan untuk terhubung ke instance GDB. Anda dapat masuk ke Konsol GDB, temukan instance yang ingin Anda konfigurasikan, dan klik View Instance Details di kolom Aksi untuk melihat Intranet URL.

Ya

Tidak ada nilai default

port

Nomor port yang digunakan untuk terhubung ke instance GDB.

Ya

8182

username

Nama pengguna yang digunakan untuk terhubung ke instance GDB.

Ya

Tidak ada nilai default

password

Kata sandi yang digunakan untuk terhubung ke instance GDB.

Ya

Tidak ada nilai default

labels

Label, yaitu nama simpul atau tepi. GDB Reader dapat membaca data dari beberapa simpul atau tepi sekaligus. Dalam hal ini, nilai parameter ini adalah array, seperti ["label1", "label2"].

Ya

Tidak ada nilai default

labelType

Jenis label. Nilai valid:

  • VERTEX

  • EDGE

Ya

Tidak ada nilai default

column

Simpul atau tepi yang akan disinkronkan.

Ya

Tidak ada nilai default

column -> name

Nama properti simpul atau tepi yang akan disinkronkan. Parameter ini diperlukan jika properti simpul atau tepi akan disinkronkan.

Ya

Tidak ada nilai default

column -> type

Tipe data untuk menyimpan properti simpul atau tepi yang akan disinkronkan.

  • Kunci utama dan label hanya bisa bertipe STRING. Jika Anda tidak menyetel tipe data ke STRING, konversi data gagal.

  • Properti lainnya bisa bertipe INT, LONG, FLOAT, DOUBLE, BOOLEAN, atau STRING.

  • GDB Reader secara paksa mengonversi data yang diperoleh ke tipe yang ditentukan. Jika konversi gagal, catatan data hilang.

Ya

Tidak ada nilai default

column -> columnType

Kategori properti simpul atau tepi yang akan disinkronkan.

  • Untuk simpul dan tepi:

    • primaryKey: kunci utama.

    • primaryLabel: label.

  • Untuk simpul:

    • vertexProperty: properti umum simpul.

    • vertexJsonProperty: kumpulan properti simpul, dalam format JSON. Jika Anda menyetel parameter columnType ke vertexJsonProperty, semua properti terdaftar di kolom ini. Kolom lain tidak dapat berisi properti simpul.

      Contoh vertexJsonProperty:

      {
          "properties":[
              {"k":"name","t":"string","v":"tom","c":"set"},
              {"k":"name","t":"string","v":"jack","c":"set"},
              {"k":"sex","t":"string","v":"male","c":"single"}
          ]
      }
                                                          

      Kode di atas berisi properti multi-nilai name dan properti single-nilai gender. Properti name memiliki dua catatan. Meskipun properti gender adalah properti multi-nilai, dianggap sebagai properti single-nilai dalam contoh ini karena hanya ada satu catatan terkait.

  • Untuk tepi:

    • srcPrimaryKey: kunci utama simpul awal.

    • dstPrimaryKey: kunci utama simpul akhir.

    • srcPrimaryLabel: label simpul awal.

    • dstPrimaryLabel: label simpul akhir.

    • edgeProperty: properti tepi.

    • edgeJsonProperty: kumpulan properti tepi, dalam format JSON. Jika Anda menyetel parameter columnType ke edgeJsonProperty, semua properti terdaftar di kolom ini. Kolom lain tidak dapat berisi properti tepi.

      Contoh edgeJsonProperty:

      {
          "properties":[
              {"k":"name","t":"string","v":"tom"},
              {"k":"sex","t":"string","v":"male"}
      ]
      }
                                                          

      Tepi tidak mendukung properti multi-nilai atau bidang c.

Ya

Tidak ada nilai default

Kode untuk GDB Writer

  • Mengonfigurasi tugas sinkronisasi untuk menulis data simpul ke database GDB

    {
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        },
        "setting":{
            "errorLimit":{
                "record":"100"  // Jumlah maksimum catatan data kotor yang diizinkan. 
            },
            "speed":{
                 "throttle":true,// Menentukan apakah akan mengaktifkan pembatasan laju. Nilai false menunjukkan bahwa pembatasan laju dinonaktifkan, dan nilai true menunjukkan bahwa pembatasan laju diaktifkan. Parameter mbps hanya berlaku ketika parameter throttle disetel ke true. 
                "concurrent":3, // Jumlah maksimum thread paralel. 
                "mbps":"12"// Laju transmisi maksimum. Unit: MB/s. 
            }
        },
        "steps":[
            {
                "category":"reader",
                "name":"Reader",
                "parameter":{
                    "column":[
                        "*"
                    ],
                    "datasource":"_ODPS",
                    "emptyAsNull":true,
                    "guid":"",
                    "isCompress":false,
                    "partition":[],
                    "table":""
                },
                "stepType":"odps"
            },
            {
                "category":"writer",
                "name":"Writer",
                "parameter": {
                    "datasource": "testGDB", // Nama sumber data. 
                    "label": "person", // Label, yaitu nama verteks. 
                    "srcLabel": "", // Anda tidak perlu mengonfigurasi parameter ini untuk verteks. 
                    "dstLabel": "", // Anda tidak perlu mengonfigurasi parameter ini untuk verteks. 
                    "labelType": "VERTEX", // Jenis label. Nilai VERTEX menunjukkan verteks. 
                    "writeMode": "INSERT", // Mode di mana GDB Writer memproses catatan data dengan kunci utama duplikat. 
                    "idTransRule": "labelPrefix", // Aturan untuk mengonversi kunci utama verteks. 
                    "srcIdTransRule": "none", // Anda tidak perlu mengonfigurasi parameter ini untuk verteks. 
                    "dstIdTransRule": "none", // Anda tidak perlu mengonfigurasi parameter ini untuk verteks. 
                    "column": [
                        {
                            "name": "id", // Nama properti verteks. 
                            "value": "#{0}", // Nilai kolom pertama di sumber digunakan sebagai nilai properti verteks. Jika beberapa kolom ditentukan, kolom-kolom tersebut dapat digabungkan. Dalam contoh ini, 0 adalah indeks kolom. 
                            "type": "string", // Tipe data properti verteks. 
                            "columnType": "primaryKey" // Kategori properti verteks. Nilai primaryKey menunjukkan kunci utama. 
                        }, // Kunci utama verteks. Nilainya harus ID tipe STRING, dan rekaman tersebut harus ada. 
                        {
                            "name": "person_age",
                            "value": "#{1}", // Nilai kolom kedua di sumber digunakan sebagai nilai properti verteks. Jika beberapa kolom ditentukan, kolom-kolom tersebut dapat digabungkan. 
                            "type": "int",
                            "columnType": "vertexProperty" // Kategori properti verteks. Nilai vertexProperty menunjukkan properti verteks umum. 
                        }, // Properti umum verteks. Nilainya bisa bertipe INT, LONG, FLOAT, DOUBLE, BOOLEAN, atau STRING. 
                        {
                            "name": "person_credit",
                            "value": "#{2}", // Nilai kolom ketiga di sumber digunakan sebagai nilai properti verteks. Jika beberapa kolom ditentukan, kolom-kolom tersebut dapat digabungkan. 
                            "type": "string",
                            "columnType": "vertexProperty"
                        }, // Properti umum verteks. 
                    ]
                }
                "stepType":"gdb"
            }
        ],
        "type":"job",
        "version":"2.0"
    }
  • Mengonfigurasi tugas sinkronisasi untuk menulis data tepi ke database GDB

    {
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        },
        "setting":{
            "errorLimit":{
                "record":"100" // Jumlah maksimum catatan data kotor yang diizinkan.
            },
            "jvmOption":"",
            "speed":{
                "throttle":true,// Menentukan apakah throttling diaktifkan. Nilai false menunjukkan throttling dinonaktifkan, dan nilai true menunjukkan throttling diaktifkan. Parameter mbps hanya berlaku jika parameter throttle disetel ke true.
                "concurrent":3, // Jumlah maksimum thread paralel.
                "mbps":"12"// Laju transmisi maksimum. Unit: MB/s.
            }
        },
        "steps":[
            {
                "category":"reader",
                "name":"Reader",
                "parameter":{
                    "column":[
                        "*"
                    ],
                    "datasource":"_ODPS",
                    "emptyAsNull":true,
                    "guid":"",
                    "isCompress":false,
                    "partition":[],
                    "table":""
                },
                "stepType":"odps"
            },
            {
                "category":"writer",
                "name":"Writer",
                "parameter": {
                    "datasource": "testGDB", // Nama sumber data.
                    "label": "use", // Label, yaitu nama tepi.
                    "labelType": "EDGE", // Jenis label. Nilai EDGE menunjukkan tepi.
                    "srcLabel": "person", // Nama simpul awal dalam tepi.
                    "dstLabel": "software", // Nama simpul akhir dalam tepi.
                    "writeMode": "INSERT", // Mode di mana GDB Writer memproses catatan data dengan kunci utama duplikat.
                    "idTransRule": "labelPrefix", // Aturan untuk mengonversi kunci utama tepi.
                    "srcIdTransRule": "labelPrefix", // Aturan untuk mengonversi kunci utama simpul awal dalam tepi.
                    "dstIdTransRule": "labelPrefix", // Aturan untuk mengonversi kunci utama simpul akhir dalam tepi.
                    "column": [
                        {
                            "name": "id", // Nama properti tepi.
                            "value": "#{0}", // Nilai kolom pertama dalam sumber digunakan sebagai nilai properti tepi. Jika beberapa kolom ditentukan, kolom-kolom tersebut dapat digabungkan.
                            "type": "string", // Tipe data properti tepi.
                            "columnType": "primaryKey" // Kategori properti tepi. Nilai primaryKey menunjukkan kunci utama.
                        }, // Kunci utama tepi. Nilainya harus ID bertipe STRING, dan catatan tersebut harus ada.
                        {
                            "name": "id",
                            "value": "#{1}", // Nilai kolom kedua dalam sumber digunakan sebagai nilai properti tepi. Jika beberapa kolom ditentukan, kolom-kolom tersebut dapat digabungkan. Aturan pemetaan harus sama dengan yang dikonfigurasikan saat Anda mengimpor simpul.
                            "type": "string",
                            "columnType": "srcPrimaryKey" // Kategori properti tepi. Nilai srcPrimaryKey menunjukkan kunci utama simpul awal.
                        }, // Kunci utama simpul awal. Nilainya harus ID bertipe STRING, dan catatan tersebut harus ada.
                        {
                            "name": "id",
                            "value": "#{2}", // Nilai kolom ketiga dalam sumber digunakan sebagai nilai properti tepi. Jika beberapa kolom ditentukan, kolom-kolom tersebut dapat digabungkan. Aturan pemetaan harus sama dengan yang dikonfigurasikan saat Anda mengimpor simpul.
                            "type": "string",
                            "columnType": "dstPrimaryKey" // Kategori properti tepi. Nilai dstPrimaryKey menunjukkan kunci utama simpul akhir.
                        }, // Kunci utama simpul akhir. Nilainya harus ID bertipe STRING, dan catatan tersebut harus ada.
                        {
                            "name": "person_use_software_time",
                            "value": "#{3}", // Nilai kolom keempat dalam sumber digunakan sebagai nilai properti tepi. Jika beberapa kolom ditentukan, kolom-kolom tersebut dapat digabungkan.
                            "type": "long",
                            "columnType": "edgeProperty" // Kategori properti tepi. Nilai edgeProperty menunjukkan properti tepi umum.
                        }, // Properti umum tepi. Nilainya bisa bertipe INT, LONG, FLOAT, DOUBLE, BOOLEAN, atau STRING.
                        {
                            "name": "person_regist_software_name",
                            "value": "#{4}", // Nilai kolom kelima dalam sumber digunakan sebagai nilai properti tepi. Jika beberapa kolom ditentukan, kolom-kolom tersebut dapat digabungkan.
                            "type": "string",
                            "columnType": "edgeProperty"
                        }, // Properti umum tepi.
                        {
                            "name": "id",
                            "value": "#{5}", // Nilai kolom keenam dalam sumber digunakan sebagai nilai properti tepi. Jika beberapa kolom ditentukan, kolom-kolom tersebut dapat digabungkan.
                            "type": "long",
                            "columnType": "edgeProperty"
                        }, // Properti umum tepi. Nilainya adalah ID. Berbeda dengan kunci utama, properti ini bersifat opsional.
                    ]
                },
                "stepType":"gdb"
            }
        ],
        "type":"job",
        "version":"2.0"
    }

Parameter dalam kode untuk GDB Writer

Parameter

Deskripsi

Diperlukan

Nilai default

datasource

Nama sumber data. Harus sama dengan nama sumber data yang telah ditambahkan. Anda dapat menambahkan sumber data menggunakan editor kode.

Ya

Tidak ada nilai default

label

Label, yaitu nama simpul atau tepi.

GDB Writer dapat memperoleh label dari kolom dalam tabel sumber. Misalnya, jika Anda menyetel parameter ini ke #{0}, GDB Writer menggunakan nilai kolom pertama sebagai label. Indeks kolom dimulai dari 0.

Ya

Tidak ada nilai default

labelType

Jenis label. Nilai valid:

  • VERTEX

  • EDGE

Ya

Tidak ada nilai default

srcLabel

  • Nama simpul awal dalam tepi saat parameter labelType disetel ke EDGE.

    Parameter ini dapat dibiarkan kosong jika srcIdTransRule disetel ke none. Jika srcIdTransRule disetel ke nilai lain, parameter ini diperlukan.

  • Biarkan parameter ini kosong jika parameter labelType disetel ke VERTEX.

Tidak

Tidak ada nilai default

dstLabel

  • Nama simpul akhir dalam tepi saat parameter labelType disetel ke EDGE.

    Parameter ini dapat dibiarkan kosong jika dstIdTransRule disetel ke none. Jika dstIdTransRule disetel ke nilai lain, parameter ini diperlukan.

  • Biarkan parameter ini kosong jika parameter labelType disetel ke VERTEX.

Tidak

Tidak ada nilai default

writeMode

Mode di mana GDB Writer memproses catatan data dengan kunci utama duplikat. Nilai valid:

  • INSERT: mengembalikan pesan kesalahan. Jumlah catatan data kesalahan bertambah satu.

  • MERGE: menimpa data lama dengan yang baru.

Ya

INSERT

idTransRule

Aturan untuk mengonversi kunci utama. Nilai valid:

  • labelPrefix: mengonversi kunci utama menjadi format {label}-{kolom dalam sumber}.

  • none: tidak mengonversi kunci utama.

Ya

none

srcIdTransRule

Aturan untuk mengonversi kunci utama simpul awal saat parameter labelType disetel ke EDGE. Nilai valid:

  • labelPrefix: mengonversi kunci utama menjadi format {label}-{kolom dalam sumber}.

  • none: tidak mengonversi kunci utama. Dalam hal ini, parameter srcLabel dapat dibiarkan kosong.

Diperlukan saat parameter labelType disetel ke EDGE

none

dstIdTransRule

Aturan untuk mengonversi kunci utama simpul akhir saat parameter labelType disetel ke EDGE. Nilai valid:

  • labelPrefix: mengonversi kunci utama menjadi format {label}-{kolom dalam sumber}.

  • none: tidak mengonversi kunci utama. Dalam hal ini, parameter dstLabel dapat dibiarkan kosong.

Diperlukan saat parameter labelType disetel ke EDGE

none

column

Simpul atau tepi yang ingin Anda sinkronkan.

  • name: nama properti simpul atau tepi.

  • value: nilai properti simpul atau tepi. Anda dapat menyesuaikan nilai hanya di editor kode.

    • #{N}: menggunakan nilai kolom ke-N dalam sumber sebagai nilai properti simpul atau tepi. N menunjukkan indeks kolom, yang dimulai dari 0.

    • #{0}: menggunakan nilai kolom pertama dalam sumber sebagai nilai properti simpul atau tepi.

    • test-#{0}: menambahkan string tetap seperti test- di awal atau akhir #{0}.

    • #{0}-#{1}: menggabungkan nilai beberapa kolom dalam sumber sebagai nilai properti simpul atau tepi. Anda juga dapat menambahkan string tetap di posisi mana pun, seperti test-#{0}-test1-#{1}-test2.

  • type: tipe data properti simpul atau tepi.

    Kunci utama harus bertipe STRING. Jika nilai yang diperoleh dari sumber bukan string, GDB Writer secara paksa mengonversi nilai tersebut menjadi string. Pastikan nilai tersebut dapat dikonversi menjadi string.

    Properti lainnya bisa bertipe INT, LONG, FLOAT, DOUBLE, BOOLEAN, atau STRING.

  • columnType: kategori properti simpul atau tepi yang ingin Anda sinkronkan.

    • Untuk simpul dan tepi

      primaryKey: kunci utama.

    • Untuk simpul

      • vertexProperty: properti umum simpul.

      • vertexJsonProperty: properti JSON simpul. Untuk informasi lebih lanjut tentang struktur nilai, lihat contoh properti.

    • Untuk tepi

      • srcPrimaryKey: kunci utama simpul awal.

      • dstPrimaryKey: kunci utama simpul akhir.

      • edgeProperty: properti umum tepi.

      • edgeJsonProperty: properti JSON tepi. Untuk informasi lebih lanjut tentang struktur nilai, lihat contoh properti.

Contoh properti

{"properties":[
    {"k":"name","t":"string","v":"tom"},
    {"k":"age","t":"int","v":"20"},
    {"k":"sex","t":"string","v":"male"}
]}

Ya

Tidak ada nilai default