【问题标题】:OrientDB Import from a CSV file to a Graph - ETLOrientDB 从 CSV 文件导入到图形 - ETL
【发布时间】:2017-08-04 10:13:56
【问题描述】:

此 CSV 已创建 ETL 并将其导入 OrientDB:

userlist.csv:

ID,NAME
1,SATOSHI
2,TONA
3,MIKI
4,YUJI
5,OTA

但是,我不知道如何制作一个 ETL,该 ETL 可以导入此 CSV 文件。

relation.csv:

FROM_ID,TO_ID,WEIGHT
1,2,4
1,3,4
1,5,3
2,5,3
2,3,5
...

FROM_IDTO_ID 表示userlist.csvIDWEIGHT 是可选的。

请教我如何正确编写ETL。

【问题讨论】:

    标签: csv graph import orientdb


    【解决方案1】:

    试试这个:

        {
      "source" : {
        "file": { "path": "your_path/relation.csv" }
      },
      "extractor" : {
        "csv": {}
      },
       "transformers": [
            { "command": { "command": "CREATE EDGE E FROM (SELECT FROM userlist-class where id = ${input.FROM_ID}) TO (SELECT FROM userlist-class where id = ${input.TO_ID}) set weight=${input.WEIGHT}"} }
        ],
      "loader" : {
        "orientdb": {
          "dbURL": "plocal:your-path/databases/db-name",
          "dbUser": "your-user",
          "dbPassword": "your-pwd",
          "serverUser": "your-server-user",
          "serverPassword": "your-server-pwd",
          "dbType": "graph",
          "classes": [{"name": "userlist-class-name", "extends":"V"}]
        }
      }
    }
    

    更新

    {
      "source" : {
        "file": { "path": "C:/Users/Sorint.Lab/Desktop/Orient/Community/orientdb-community-2.2.24/config/relation.csv" }
      },
      "extractor" : {
        "csv": {}
      },
       "transformers": [
            { "command": { "command": "CREATE EDGE USER_RELATION_FRIEND FROM (SELECT FROM userList where id = ${input.FROM_ID}) TO (SELECT FROM userList where id = ${input.TO_ID}) set weight=${input.WEIGHT}"} }
        ],
      "loader" : {
        "orientdb": {
          "dbURL": "plocal:C:/Users/Sorint.Lab/Desktop/Orient/Community/orientdb-community-2.2.24/databases/stack45504136",
          "dbUser": "admin",
          "dbPassword": "admin",
          "serverUser": "root",
          "serverPassword": "root",
          "dbType": "graph",
          "classes": [
                {"name": "userList", "extends":"V"},
                {"name": "USER_RELATION_FRIEND", "extends":"E"}
                ]
        }
      }
    }
    

    希望对你有帮助

    问候

    【讨论】:

    • 我试过但收到以下错误。 ** 错误异常=解析查询错误:CREATE EDGE USER_RELATION_FRIEND FROM (SELECT FROM USER_INFO WHERE ID = ) TO (SELECT FROM USER_INFO WHERE ID = 2) SET weight= ^ 在第 1 行第 1 列遇到“”CREATE“” . ** 还有什么可以做的吗?
    • 不,它不存在。我想过用这个 ETL 来实现它。
    • 谢谢你更新你的答案。我试过了,但我又得到了同样的错误。 “CREATE”在这个 ETL 中可用吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    • 2016-01-11
    相关资源
    最近更新 更多