bugfix> json > 投稿

OrientDB ETLモジュールを使用して、CSVファイルからグラフデータベースにデータをインポートしています。 CSVファイルの形式は次のとおりです。

urlid_1,urlid_2,score
a,b,10
a,c,20
a,d,30
b,a,40
b,c,50
b,d,60
c,a,70
c,b,80
c,d,90
d,a,100
d,b,110
d,c,120

これをorientdbにインポートすると、各 abc および d クラスの頂点として保存され、 urlid_1 から始まるエッジが作成されます urlid_2 へ対応する score としてのエッジの重みcsvファイル内。

ETLの構成(JSON)ファイルを手伝ってくれる人はいますか??

ここで提案した解決策を試しました:OrientDB ETLを使用して簡単なCSVファイルをグラフにインポートする最も簡単な方法 しかし、期待した結果が得られませんでした。

回答 1 件
  • これを試して:

    データをインポートするには:

    data_2.csv

    id
    a
    b
    c
    d
    
    

    import_2.json

    {
      "source" : {
        "file": { "path": "data_2.csv" }
      },
      "extractor" : {
        "csv": {}
      },
       "transformers": [
            { "vertex": { "class": "Test" } }
        ],
      "loader" : {
        "orientdb": {
          "dbURL": "plocal:your_path",
          "dbUser": "your_user",
          "dbPassword": "your_pwd",
          "serverUser": "your_user",
          "serverPassword": "your_pwd",
          "dbType": "graph",
          "classes": [
                {"name": "Test", "extends":"V"},
                ]
        }
      }
    }
    
    

    エッジを作成するには:

    data.csv

    urlid_1,urlid_2,score
    a,b,10
    a,c,20
    a,d,30
    b,a,40
    b,c,50
    b,d,60
    c,a,70
    c,b,80
    c,d,90
    d,a,100
    d,b,110
    d,c,120
    
    

    import.json

    {
      "source" : {
        "file": { "path": "data.csv" }
      },
      "extractor" : {
        "csv": {}
      },
       "transformers": [
            { "command":
                { "command": "CREATE EDGE link FROM (SELECT FROM Test where id= "${input.urlid_1}") TO (SELECT FROM Test where id = "${input.urlid_2}") set score=${input.score}"}  
            }
        ],
      "loader" : {
        "orientdb": {
          "dbURL": "plocal:your_path",
          "dbUser": "your_user",
          "dbPassword": "your_pwd",
          "serverUser": "your_user",
          "serverPassword": "your_pwd",
          "dbType": "graph",
          "classes": [
                {"name": "link", "extends":"E"}
                ]
        }
      }
    }
    
    

    それが役に立てば幸い

    よろしく

あなたの答え