すべてのプロダクト
Search
ドキュメントセンター

DataWorks:GDBデータソース

最終更新日:Jan 11, 2025

DataWorksは、GDBデータソースとのデータの読み書きを行うためのGraph Database(GDB)ReaderとGDB Writerを提供しています。このトピックでは、GDBデータソースとのデータ同期機能について説明します。

制限事項

バッチデータ読み取り

バッチデータ書き込み

  • 頂点とエッジに関するデータを同期するには、2つの同期タスクを設定する必要があります。

  • 同期するデータを持つ頂点またはエッジには、DataWorksが関連データを取得するためにトラバースするための名前が必要です。

  • GDBの頂点とエッジのプライマリキー値はSTRING型です。同期するデータの型はSTRING型として設定する必要があります。設定された型がLONGなどの数値型の場合、GDB Readerはプライマリキー値を強制的にSTRING型に変換します。変換に失敗した場合、プライマリキー値は失われます。

  • 頂点またはエッジのプロパティの値については、同期するプロパティ値のデータ型は、GDBインスタンスの元のデータ型と同じである必要があります。プロパティ値のデータ型が元のデータ型と異なる場合、GDB Readerはプロパティ値を指定されたデータ型に強制的に変換します。変換に失敗した場合、プロパティ値は失われます。

  • 頂点データを同期するタスクを複数回実行すると、取得されるSETプロパティの値が異なる場合があります。

  • JSON形式ですべてのプロパティを設定する場合、1つの値のみを含むSETプロパティは共通プロパティと見なされます。

  • 特に指定のない限り、このトピックのフィールド名または列挙値は大文字と小文字が区別されます。

  • GDB ReaderはUTF-8エンコーディング形式のみをサポートしています。同期されるデータはUTF-8でエンコードされている必要があります。

  • GDB 1.0.20以降でのみSETプロパティがサポートされています。SETプロパティを使用する前に、GDBのバージョンを確認してください。

  • エッジデータを同期する同期タスクを実行する前に、頂点データを同期する同期タスクを実行する必要があります。

  • 頂点の制限:

    • 頂点には、label パラメーターで指定される名前が必要です。

    • 頂点には、STRING型のユニークなプライマリキーが必要です。プライマリキーが文字列でない場合、GDB Writerはプライマリキーを強制的に文字列に変換します。

    • idTransRule パラメーターを設定する際は注意が必要です。このパラメーターを none に設定する場合は、各頂点のプライマリキーがすべての頂点の中でユニークであることを確認する必要があります。

  • エッジの制限:

    • エッジには、label パラメーターで指定される名前が必要です。

    • エッジのプライマリキーはオプションです。

      • エッジにプライマリキーを指定する場合は、プライマリキーがすべてのエッジの中でユニークであることを確認する必要があります。

      • エッジにプライマリキーを指定しない場合、GDB Writerはエッジに対してSTRING型の汎用一意識別子(UUID)を自動的に生成します。UUIDが文字列でない場合、GDB WriterはUUIDを強制的に文字列に変換します。

    • idTransRule パラメーターを設定する際は注意が必要です。このパラメーターを none に設定する場合は、各エッジのプライマリキーがすべてのエッジの中でユニークであることを確認する必要があります。

    • エッジには、srcIdTransRule パラメーターと dstIdTransRule パラメーターが必要です。2つのパラメーターの値は、関連する頂点の idTransRule パラメーターの値と同じである必要があります。

  • 特に指定のない限り、このトピックのフィールド名と列挙値は大文字と小文字が区別されます。

  • GDB WriterはUTF-8エンコーディング形式のみをサポートしています。ソースデータはUTF-8でエンコードされている必要があります。

  • ネットワークの制約により、GDBデータベースにデータを同期するために使用される同期タスクは、Data Integration専用の排他的リソースグループ上でのみ実行できます。事前にData Integration専用の排他的リソースグループを購入し、GDBインスタンスが存在する仮想プライベートクラウド(VPC)に関連付ける必要があります。

データ同期タスクの開発

データ同期タスクのエントリポイントと設定手順については、以下のセクションを参照してください。パラメーター設定については、タスクの設定タブにある各パラメーターのinfotipを参照してください。

データソースの追加

特定のデータソースとのデータ同期タスクを設定する前に、DataWorksにデータソースを追加する必要があります。詳細については、「データソースの追加と管理」をご参照ください。

単一テーブルのデータを同期するためのバッチ同期タスクの設定

付録:コードとパラメーター

付録:コードエディターを使用したバッチ同期タスクの設定

コードエディターを使用してバッチ同期タスクを設定する場合は、コードエディターの形式要件に基づいて、関連データソースのリーダーとライターのパラメーターを設定する必要があります。形式要件の詳細については、「コードエディターを使用したバッチ同期タスクの設定」をご参照ください。以下の情報は、コードエディターのリーダーとライターのパラメーターの設定詳細について説明しています。

GDB Readerのコード

次のコードでは、GDBインスタンスからデータを読み取るために2つの同期タスクが設定されています。

  • GDBインスタンスから頂点に関するデータを読み取る同期タスクを設定する

    {
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        },
        "setting":{
            "errorLimit":{
                "record":"100"  // 許容されるダーティデータレコードの最大数。
            },
            "jvmOption":"",
            "speed":{
                "concurrent":3,
                "throttle":true,/// スロットリングを有効にするかどうかを指定します。値falseはスロットリングが無効であることを示し、値trueはスロットリングが有効であることを示します。mbpsパラメーターは、throttleパラメーターがtrueに設定されている場合にのみ有効になります。
                "mbps":"12"// 最大伝送速度。単位:MB/s。
            }
        },
        "steps":[
            {
                "category":"reader",
                "name":"Reader",
                "parameter":{
                    "host": "gdb-xxxxxx.aliyuncs.com", // GDBインスタンスに接続するために使用されるエンドポイント。
                    "port": 8182, // GDBインスタンスに接続するために使用されるポート番号。
                    "username": "gdb", // GDBインスタンスに接続するために使用されるユーザー名。
                    "password": "gdb", // GDBインスタンスに接続するために使用されるパスワード。
                    "labelType": "VERTEX", // ラベルのタイプ。値VERTEXは頂点を示します。
                    "labels": ["label1", "label2"],  // 同期する頂点のラベル。このパラメーターを空のままにすると、すべての頂点が同期されます。
                    "column": [
                        {
                            "name": "id",               // 頂点プロパティの名前。
                            "type": "string",           // 同期するデータを格納するためのデータ型。
                            "columnType": "primaryKey"  // 頂点プロパティのカテゴリ。値primaryKeyは、同期されるデータが頂点のプライマリキーであり、GDBインスタンスではSTRING型であることを示します。
                        },
                        {
                            "name": "label",              // 頂点プロパティの名前。
                            "type": "string",             // 同期するデータを格納するためのデータ型。
                            "columnType": "primaryLabel"  // 頂点プロパティのカテゴリ。値primaryLabelは、同期されるデータが頂点のラベルであり、GDBインスタンスではSTRING型であることを示します。
                        },
                        {
                            "name": "age",                   // 頂点プロパティの名前。
                            "type": "int",                   // 同期するデータを格納するためのデータ型。
                            "columnType": "vertexProperty"   // 頂点プロパティのカテゴリ。値vertexPropertyは共通の頂点プロパティを示します。
                        }
                    ]
                },
                "stepType":"gdb"
            },
            {
                "category":"writer",
                "name":"Writer",
                "parameter":{
                    "print": true
                },
                "stepType":"stream"
            }
        ]
    }
  • GDBインスタンスからエッジに関するデータを読み取る同期タスクを設定する

    {
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        },
        "setting":{
            "errorLimit":{
                "record":"100"  // 許容されるダーティデータレコードの最大数。
            },
            "jvmOption":"",
            "speed":{
                "concurrent":3,
                "throttle":true,// スロットリングを有効にするかどうかを指定します。値falseはスロットリングが無効であることを示し、値trueはスロットリングが有効であることを示します。mbpsパラメーターは、throttleパラメーターがtrueに設定されている場合にのみ有効になります。
                "mbps":"12"// 最大伝送速度。単位:MB/s。
            }
        },
        "steps":[
            {
                "category":"reader",
                "name":"Reader",
                "parameter":{
                    "host": "gdb-xxxxxx.aliyuncs.com", // GDBインスタンスに接続するために使用されるエンドポイント。
                    "port": 8182, // GDBインスタンスに接続するために使用されるポート番号。
                    "username": "gdb", // GDBインスタンスに接続するために使用されるユーザー名。
                    "password": "gdb", // GDBインスタンスに接続するために使用されるパスワード。
                    "labelType": "EDGE", // ラベルのタイプ。値EDGEはエッジを示します。
                    "labels": ["label1", "label2"],  // 同期するエッジのラベル。このパラメーターを空のままにすると、すべてのエッジが同期されます。
                    "column": [
                        {
                            "name": "id",               // エッジプロパティの名前。
                            "type": "string",           // 同期するデータを格納するためのデータ型。
                            "columnType": "primaryKey"  // エッジプロパティのカテゴリ。値primaryKeyは、同期されるデータがエッジのプライマリキーであり、GDBインスタンスではSTRING型であることを示します。
                        },
                        {
                            "name": "label",              // エッジプロパティの名前。
                            "type": "string",             // 同期するデータを格納するためのデータ型。
                            "columnType": "primaryLabel"  // エッジプロパティのカテゴリ。値primaryLabelは、同期されるデータがエッジのラベルであり、GDBインスタンスではSTRING型であることを示します。
                        },
                        {
                            "name": "srcId",               // エッジプロパティの名前。
                            "type": "string",              // 同期するデータを格納するためのデータ型。
                            "columnType": "srcPrimaryKey"  // エッジプロパティのカテゴリ。値srcPrimaryKeyは、同期されるデータが始点頂点のプライマリキーであり、GDBインスタンスではSTRING型であることを示します。
                        },
                        {
                            "name": "srcLabel",               // エッジプロパティの名前。
                            "type": "string",                 // 同期するデータを格納するためのデータ型。
                            "columnType": "srcPrimaryLabel"   // エッジプロパティのカテゴリ。値srcPrimaryLabelは、同期されるデータが始点頂点のラベルであり、GDBインスタンスではSTRING型であることを示します。
                        },
                        {
                            "name": "dstId",                    // エッジプロパティの名前。
                            "type": "string",                   // 同期するデータを格納するためのデータ型。
                            "columnType": "dstPrimaryKey"       // エッジプロパティのカテゴリ。値dstPrimaryKeyは、同期されるデータが終点頂点のプライマリキーであり、GDBインスタンスではSTRING型であることを示します。
                        },
                        {
                            "name": "dstLabel",                 // エッジプロパティの名前。
                            "type": "string",                   // 同期するデータを格納するためのデータ型。
                            "columnType": "dstPrimaryLabel"     // エッジプロパティのカテゴリ。値dstPrimaryLabelは、同期されるデータが終点頂点のラベルであり、GDBインスタンスではSTRING型であることを示します。
                        },
                        {
                            "name": "weight",               // エッジプロパティの名前。
                            "type": "double",               // 同期するデータを格納するためのデータ型。
                            "columnType": "edgeProperty"    // エッジプロパティのカテゴリ。値edgePropertyは共通のエッジプロパティを示します。
                        }
                    ]
                },
                "stepType":"gdb"
            },
            {
                "category":"writer",
                "name":"Writer",
                "parameter":{
                    "print": true
                },
                "stepType":"stream"
            }
        ]
    }

GDB Readerのコードのパラメーター

パラメーター

説明

必須

デフォルト値

host

GDBインスタンスに接続するために使用されるエンドポイント。GDB consoleにログインし、設定するインスタンスを見つけ、[アクション] 列の [インスタンスの詳細を表示] をクリックして、[イントラネット URL] を表示します。

はい

デフォルト値なし

port

GDBインスタンスに接続するために使用されるポート番号。

はい

8182

username

GDBインスタンスに接続するために使用されるユーザー名。

はい

デフォルト値なし

password

GDBインスタンスに接続するために使用されるパスワード。

はい

デフォルト値なし

labels

ラベル。頂点またはエッジの名前です。GDB Readerは一度に複数の頂点またはエッジからデータを読み取ることができます。この場合、このパラメーターの値は["label1", "label2"]などの配列です。

はい

デフォルト値なし

labelType

ラベルのタイプ。有効な値:

  • VERTEX

  • EDGE

はい

デフォルト値なし

column

同期する頂点またはエッジ。

はい

デフォルト値なし

column -> name

同期する頂点またはエッジプロパティの名前。頂点またはエッジプロパティを同期する場合、このパラメーターは必須です。

はい

デフォルト値なし

column -> type

同期する頂点またはエッジプロパティを格納するためのデータ型。

  • プライマリキーとラベルはSTRING型のみ可能です。データ型をSTRINGに設定しない場合、データ変換は失敗します。

  • 他のプロパティは、INT、LONG、FLOAT、DOUBLE、BOOLEAN、またはSTRING型にすることができます。

  • GDB Readerは取得したデータを指定された型に強制的に変換します。変換に失敗した場合、データレコードは失われます。

はい

デフォルト値なし

column -> columnType

同期する頂点またはエッジプロパティのカテゴリ。

  • 頂点とエッジの両方:

    • primaryKey:プライマリキー。

    • primaryLabel:ラベル。

  • 頂点:

    • vertexProperty:頂点の共通プロパティ。

    • vertexJsonProperty:JSON形式の頂点プロパティのコレクション。 columnTypeパラメーターをvertexJsonPropertyに設定すると、すべてのプロパティがこの列にリストされます。他の列には頂点のプロパティを含めることはできません。

      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"}
          ]
      }
                                                          

      上記のコードには、複数値プロパティ name と単一値プロパティ gender が含まれています。name プロパティには2つのレコードがあります。gender プロパティは複数値プロパティですが、この例では関連レコードが1つしかないため、単一値プロパティと見なされます。

  • エッジ:

    • srcPrimaryKey:始点頂点のプライマリキー。

    • dstPrimaryKey:終点頂点のプライマリキー。

    • srcPrimaryLabel:始点頂点のラベル。

    • dstPrimaryLabel:終点頂点のラベル。

    • edgeProperty:エッジのプロパティ。

    • edgeJsonProperty:JSON形式のエッジプロパティのコレクション。columnTypeパラメーターをedgeJsonPropertyに設定すると、すべてのプロパティがこの列にリストされます。他の列にはエッジのプロパティを含めることはできません。

      edgeJsonProperty の例:

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

      エッジは複数値プロパティまたは c フィールドをサポートしていません。

はい

デフォルト値なし

GDB Writerのコード

  • GDBデータベースに頂点に関するデータを書き込む同期タスクを設定する

    {
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        },
        "setting":{
            "errorLimit":{
                "record":"100"  // 許容されるダーティデータレコードの最大数。
            },
            "speed":{
                 "throttle":true,// スロットリングを有効にするかどうかを指定します。値falseはスロットリングが無効であることを示し、値trueはスロットリングが有効であることを示します。mbpsパラメーターは、throttleパラメーターがtrueに設定されている場合にのみ有効になります。
                "concurrent":3, // 並列スレッドの最大数。
                "mbps":"12"// 最大伝送速度。単位: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", // データソースの名前。
                    "label": "person", // ラベル。頂点の名前です。
                    "srcLabel": "", // 頂点の場合は、このパラメーターを設定する必要はありません。
                    "dstLabel": "", // 頂点の場合は、このパラメーターを設定する必要はありません。
                    "labelType": "VERTEX", // ラベルのタイプ。値VERTEXは頂点を示します。
                    "writeMode": "INSERT", // GDB Writerがプライマリキーが重複するデータレコードを処理するモード。
                    "idTransRule": "labelPrefix", // 頂点のプライマリキーを変換するためのルール。
                    "srcIdTransRule": "none", // 頂点の場合は、このパラメーターを設定する必要はありません。
                    "dstIdTransRule": "none", // 頂点の場合は、このパラメーターを設定する必要はありません。
                    "column": [
                        {
                            "name": "id", // 頂点プロパティの名前。
                            "value": "#{0}", // ソースの最初の列の値が頂点プロパティの値として使用されます。複数の列が指定されている場合、列を連結できます。この例では、0は列インデックスです。
                            "type": "string", // 頂点プロパティのデータ型。
                            "columnType": "primaryKey" // 頂点プロパティのカテゴリ。値primaryKeyはプライマリキーを示します。
                        }, // 頂点のプライマリキー。値はSTRING型のIDである必要があり、レコードが存在する必要があります。
                        {
                            "name": "person_age",
                            "value": "#{1}", // ソースの2番目の列の値が頂点プロパティの値として使用されます。複数の列が指定されている場合、列を連結できます。
                            "type": "int",
                            "columnType": "vertexProperty" // 頂点プロパティのカテゴリ。値vertexPropertyは共通の頂点プロパティを示します。
                        }, // 頂点の共通プロパティ。値はINT、LONG、FLOAT、DOUBLE、BOOLEAN、またはSTRING型にすることができます。
                        {
                            "name": "person_credit",
                            "value": "#{2}", // ソースの3番目の列の値が頂点プロパティの値として使用されます。複数の列が指定されている場合、列を連結できます。
                            "type": "string",
                            "columnType": "vertexProperty"
                        }, // 頂点の共通プロパティ。
                    ]
                }
                "stepType":"gdb"
            }
        ],
        "type":"job",
        "version":"2.0"
    }
  • GDBデータベースにエッジに関するデータを書き込む同期タスクを設定する

    {
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        },
        "setting":{
            "errorLimit":{
                "record":"100" // 許容されるダーティデータレコードの最大数。
            },
            "jvmOption":"",
            "speed":{
                "throttle":true,// スロットリングを有効にするかどうかを指定します。値falseはスロットリングが無効であることを示し、値trueはスロットリングが有効であることを示します。mbpsパラメーターは、throttleパラメーターがtrueに設定されている場合にのみ有効になります。
                "concurrent":3, // 並列スレッドの最大数。
                "mbps":"12"// 最大伝送速度。単位: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", // データソースの名前。
                    "label": "use", // ラベル。エッジの名前です。
                    "labelType": "EDGE", // ラベルのタイプ。値EDGEはエッジを示します。
                    "srcLabel": "person", // エッジの始点頂点の名前。
                    "dstLabel": "software", // エッジの終点頂点の名前。
                    "writeMode": "INSERT", // GDB Writerがプライマリキーが重複するデータレコードを処理するモード。
                    "idTransRule": "labelPrefix", // エッジのプライマリキーを変換するためのルール。
                    "srcIdTransRule": "labelPrefix", // エッジの始点頂点のプライマリキーを変換するためのルール。
                    "dstIdTransRule": "labelPrefix", // エッジの終点頂点のプライマリキーを変換するためのルール。
                    "column": [
                        {
                            "name": "id", // エッジプロパティの名前。
                            "value": "#{0}", // ソースの最初の列の値がエッジプロパティの値として使用されます。複数の列が指定されている場合、列を連結できます。
                            "type": "string", // エッジプロパティのデータ型。
                            "columnType": "primaryKey" // エッジプロパティのカテゴリ。値primaryKeyはプライマリキーを示します。
                        }, // エッジのプライマリキー。値はSTRING型のIDである必要があり、レコードが存在する必要があります。
                        {
                            "name": "id",
                            "value": "#{1}", // ソースの2番目の列の値がエッジプロパティの値として使用されます。複数の列が指定されている場合、列を連結できます。マッピングルールは、頂点をインポートするときに設定したものと同じである必要があります。
                            "type": "string",
                            "columnType": "srcPrimaryKey" // エッジプロパティのカテゴリ。値srcPrimaryKeyは始点頂点のプライマリキーを示します。
                        }, // 始点頂点のプライマリキー。値はSTRING型のIDである必要があり、レコードが存在する必要があります。
                        {
                            "name": "id",
                            "value": "#{2}", // ソースの3番目の列の値がエッジプロパティの値として使用されます。複数の列が指定されている場合、列を連結できます。マッピングルールは、頂点をインポートするときに設定したものと同じである必要があります。
                            "type": "string",
                            "columnType": "dstPrimaryKey" // エッジプロパティのカテゴリ。値dstPrimaryKeyは終点頂点のプライマリキーを示します。
                        }, // 終点頂点のプライマリキー。値はSTRING型のIDである必要があり、レコードが存在する必要があります。
                        {
                            "name": "person_use_software_time",
                            "value": "#{3}", // ソースの4番目の列の値がエッジプロパティの値として使用されます。複数の列が指定されている場合、列を連結できます。
                            "type": "long",
                            "columnType": "edgeProperty" // エッジプロパティのカテゴリ。値edgePropertyは共通のエッジプロパティを示します。
                        }, // エッジの共通プロパティ。値はINT、LONG、FLOAT、DOUBLE、BOOLEAN、またはSTRING型にすることができます。
                        {
                            "name": "person_regist_software_name",
                            "value": "#{4}", // ソースの5番目の列の値がエッジプロパティの値として使用されます。複数の列が指定されている場合、列を連結できます。
                            "type": "string",
                            "columnType": "edgeProperty"
                        }, // エッジの共通プロパティ。
                        {
                            "name": "id",
                            "value": "#{5}", // ソースの6番目の列の値がエッジプロパティの値として使用されます。複数の列が指定されている場合、列を連結できます。
                            "type": "long",
                            "columnType": "edgeProperty"
                        }, // エッジの共通プロパティ。値はIDです。プライマリキーとは異なり、このプロパティはオプションです。
                    ]
                }
                "stepType":"gdb"
            }
        ],
        "type":"job",
        "version":"2.0"
    }

GDB Writerのコードのパラメーター

パラメーター

説明

必須

デフォルト値

datasource

データソースの名前。追加されたデータソースの名前と同じである必要があります。コードエディターを使用してデータソースを追加できます。

はい

デフォルト値なし

label

ラベル。頂点またはエッジの名前です。

GDB Writerは、ソーステーブルの列からラベルを取得できます。たとえば、このパラメーターを#{0}に設定すると、GDB Writerは最初の列の値をラベルとして使用します。列インデックスは0から始まります。

はい

デフォルト値なし

labelType

ラベルのタイプ。有効な値:

  • VERTEX

  • EDGE

はい

デフォルト値なし

srcLabel

  • labelTypeパラメーターがEDGEに設定されている場合、エッジの始点頂点の名前。

    このパラメーターは、srcIdTransRulenone に設定されている場合は空のままにすることができます。srcIdTransRuleが別の値に設定されている場合、このパラメーターは必須です。

  • labelTypeパラメーターがVERTEXに設定されている場合は、このパラメーターを空のままにします。

いいえ

デフォルト値なし

dstLabel

  • labelTypeパラメーターがEDGEに設定されている場合、エッジの終点頂点の名前。

    このパラメーターは、dstIdTransRulenone に設定されている場合は空のままにすることができます。dstIdTransRuleが別の値に設定されている場合、このパラメーターは必須です。

  • labelTypeパラメーターがVERTEXに設定されている場合は、このパラメーターを空のままにします。

いいえ

デフォルト値なし

writeMode

GDB Writerがプライマリキーが重複するデータレコードを処理するモード。有効な値:

  • INSERT:エラーメッセージを返します。エラーデータレコードの数が1つ増えます。

  • MERGE:既存のデータレコードを新しいデータレコードで上書きします。

はい

INSERT

idTransRule

プライマリキーを変換するためのルール。有効な値:

  • labelPrefix:プライマリキーを {label}-{column in source} 形式に変換します。

  • none:プライマリキーを変換しません。

はい

none

srcIdTransRule

labelType パラメーターがEDGEに設定されている場合、始点頂点のプライマリキーを変換するためのルール。有効な値:

  • labelPrefix:プライマリキーを {label}-{column in source} 形式に変換します。

  • none:プライマリキーを変換しません。この場合、srcLabel パラメーターは空のままにすることができます。

labelType パラメーターがEDGEに設定されている場合必須

none

dstIdTransRule

labelType パラメーターがEDGEに設定されている場合、終点頂点のプライマリキーを変換するためのルール。有効な値:

  • labelPrefix:プライマリキーを {label}-{column in source} 形式に変換します。

  • none:プライマリキーを変換しません。この場合、dstLabel パラメーターは空のままにすることができます。

labelType パラメーターがEDGEに設定されている場合必須

none

column

同期する頂点またはエッジ。

  • name:頂点またはエッジプロパティの名前。

  • value:頂点またはエッジプロパティの値。コードエディターでのみ値をカスタマイズできます。

    • #{N}:ソースのN番目の列の値を頂点またはエッジプロパティの値として使用します。Nは列インデックスを示し、0から始まります。

    • #{0}:ソースの最初の列の値を頂点またはエッジプロパティの値として使用します。

    • test-#{0}:test-などの固定文字列を #{0} の先頭または末尾に追加します。

    • #{0}-#{1}:ソースの複数の列の値を頂点またはエッジプロパティの値として結合します。 test-#{0}-test1-#{1}-test2 など、任意の位置に固定文字列を追加することもできます。

  • type:頂点またはエッジプロパティのデータ型。

    プライマリキーはSTRING型である必要があります。ソースから取得した値が文字列でない場合、GDB Writerは値を強制的に文字列に変換します。値が文字列に変換できることを確認してください。

    他のプロパティは、INT、LONG、FLOAT、DOUBLE、BOOLEAN、またはSTRING型にすることができます。

  • columnType:同期する頂点またはエッジプロパティのカテゴリ。

    • 頂点とエッジの両方

      primaryKey:プライマリキー。

    • 頂点

      • vertexProperty:頂点の共通プロパティ。

      • vertexJsonProperty:頂点のJSONプロパティ。値の構造の詳細については、プロパティのサンプルを参照してください。

    • エッジ

      • srcPrimaryKey:始点頂点のプライマリキー。

      • dstPrimaryKey:終点頂点のプライマリキー。

      • edgeProperty:エッジの共通プロパティ。

      • edgeJsonProperty:エッジのJSONプロパティ。値の構造の詳細については、プロパティのサンプルを参照してください。

プロパティのサンプル

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

はい

デフォルト値なし