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

DataWorks:Maxgraphデータソース

最終更新日:Jan 11, 2025

DataWorksデータ統合は、MaxComputeテーブルからMaxgraphにデータを書き込むためのMaxgraph Writerを提供します。このトピックでは、Maxgraphデータソースへのデータ同期機能について説明します。

制限事項

  • コードエディターのみを使用して、Maxgraphデータソースにデータを書き込むバッチ同期ノードを設定できます。
  • ユースケースは、MaxComputeからMaxgraphへのデータ同期です。

データ同期前に必要な権限を持つMaxgraphアカウントを準備する

Maxgraph Writerを使用してMaxComputeテーブルからMaxgraphにデータを書き込む場合は、MaxComputeプロジェクト内のMaxComputeテーブルに対する読み取り権限をMaxgraphビルドアカウントに付与します。 Maxgraph管理者に連絡して、Maxgraphビルドアカウントを取得してください。

データ同期ノードを開発する

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

付録:コードエディターを使用してバッチ同期ノードを設定する

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

Maxgraph Writerのコード

次のコードでは、頂点とエッジに関するデータをMaxgraphに書き込むように同期ノードが設定されています。
  • 頂点に関するデータをMaxgraphに書き込む同期ノードを設定する
    {
      "job": {
        "setting": {
          "speed": {
            "channel": 1 // channel を 1 に設定します。
          },
          "errorLimit": {
            "record": 1000
          }
        },
        "content": [
          {
            "reader": {
              "name": "odpsreader",
              "parameter": {
                "accessId": "*****",
                "accessKey": "*****",
                "project": "maxgraph_dev",
                "table": "maxgraph_demo_person",
                "column": [ // MaxComputeテーブルの列の名前。 このパラメーターの値は、Maxgraph Writerの column パラメーターの値と1対1でマッピングされます。
                  "id",
                  "name",
                  "age"
                ],
                "packageAuthorizedProject": "biggraph_dev",
                "splitMode": "record",
                "odpsServer": "******"
              }
            },
            "writer": {
              "name": "maxgraphwriter",
              "parameter": {
                "endpoint": "http://graph.alibaba.net",
                "graphName": "xxx",
                "accessId": "xxx",
                "accessKey": "xxx",
                "label": "person",
                "labelType": "vertex",
                "onlineMode": "partition",
                "splitSize": "256",
                "column": [ // Maxgraphの頂点プロパティの名前。 このパラメーターの値は、MaxCompute Readerの column パラメーターの値と1対1でマッピングされます。
                  "id",
                  "name",
                  "age"
                ]
              }
            }
          }
        ]
      }
    }
                            
  • エッジに関するデータをMaxgraphに書き込む同期ノードを設定する
    {
      "job": {
        "setting": {
          "speed": {
            "channel": 1 // channel を 1 に設定します。
          },
          "errorLimit": {
            "record": 1000
          }
        },
        "content": [
          {
            "reader": {
              "name": "odpsreader",
              "parameter": {
                "accessId": "*****",
                "accessKey": "*****",
                "project": "maxgraph_dev",
                "table": "maxgraph_demo_knows",
                "column": [
                  "person_id",
                  "person_id2",
                  "weight",
                  "id"
                ],
                "packageAuthorizedProject": "biggraph_dev",
                "splitMode": "record",
                "odpsServer": "****"
              }
            },
            "writer": {
              "name": "maxgraphwriter",
              "parameter": {
                "endpoint": "http://graph.alibaba.net",
                "graphName": "xxx",
                "accessId": "xxx",
                "accessKey": "xxx",
                "label": "knows",
                "labelType": "edge",
                "srcLabel": "person",
                "dstLabel": "person",
                "onlineMode": "partition",
                "splitSize": "256",
                "column": [ 
                  {
                    "name": "id", // プロパティの名前。
                    "propertyType": "srcPrimaryKey" // プロパティのタイプ。 有効な値:srcPrimaryKey、dstPrimaryKey、およびedgeProperty。
                  },
                  {
                    "name": "id",
                    "propertyType": "dstPrimaryKey"
                  },
                  {
                    "name": "weight",
                    "propertyType": "edgeProperty"
                  },
                  {
                    "name": "id",
                    "propertyType": "edgeProperty"
                  }
                ]
              }
            }
          }
        ]
      }
    }

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

パラメーター説明必須デフォルト値
endpointMaxgraphのエンドポイント。はいデフォルト値なし
graphNameMaxgraphインスタンスの名前。はいデフォルト値なし
accessIdユーザー名。はいデフォルト値なし
accessKeyパスワード。はいデフォルト値なし
labelラベル。頂点またはエッジの名前。はいデフォルト値なし
labelTypeラベルのタイプ。 有効な値:vertexおよびedge。はいデフォルト値なし
srcLabelエッジの開始頂点のラベル。 このパラメーターは、エッジに関するデータをインポートする場合にのみ有効です。はいデフォルト値なし
dstLabelエッジの終了頂点のラベル。 このパラメーターは、エッジに関するデータをインポートする場合にのみ有効です。はいデフォルト値なし
splitSizeMapReduceジョブのシャードのサイズ。 単位:MB。いいえ256MB
onlineModeMaxgraphのストレージにデータをアップロードするモード。有効な値:
  • partition:データのアップロード中は、既存のデータレコードと新しくアップロードされたデータレコードの両方をクエリできます。 ただし、データの整合性は保証されます。 このモードでのデータのアップロード速度は、typeモードよりも高速です。
  • type:データのアップロード中は、既存のデータレコードのみをクエリできます。 新しいデータレコードは、データのアップロード後にのみクエリできます。 このモードでのデータのアップロード速度は、partitionモードよりも低速です。
いいえtype
column頂点プロパティの名前。 このパラメーターは、頂点に関するデータをインポートする場合にのみ有効です。はいデフォルト値なし
nameプロパティの名前。エッジに関するデータをインポートする場合のみ必須デフォルト値なし
propertyTypeプロパティのタイプ。 有効な値:srcPrimaryKey、dstPrimaryKey、およびedgeProperty。エッジに関するデータをインポートする場合のみ必須デフォルト値なし
srcPrimaryKey開始頂点のプライマリキー。 このパラメーターは、エッジに関するデータをインポートする場合にのみ有効です。エッジに関するデータをインポートする場合のみ必須デフォルト値なし
dstPrimaryKey終了頂点のプライマリキー。 このパラメーターは、エッジに関するデータをインポートする場合にのみ有効です。エッジに関するデータをインポートする場合のみ必須デフォルト値なし
edgePropertyエッジのプロパティ。 エッジにプロパティがない場合は、このパラメーターを空のままにすることができます。いいえデフォルト値なし