Hi There,
I have been working with OrientDB now for only a short period but I have
run across a problem with the ETL application. Now this may just be my
lack of experience but I wanted to check.
I am shipping data from a MySQL server and then trying to create a company
hierarchy of many business and customers. I have used some of the code
that has been posted within this group but I am still struggling to get it
to work as I would like. The problem I am facing is that the ETL app is
adding the edges between the verticies if they are already there. So if I
run the ETL application over and over again ( which I will need to do ) the
edges are created over and over again and I cannot see any way to stop it.
Basically I am only want to create the edge between the verticies if there
is not already an edge there. So each customer should only have one edge
per business.
Below is my setup and ETL config.
Is someone able to help?
-- Business --
CREATE CLASS Business EXTENDS V;
CREATE PROPERTY Business.BusinessLabel STRING;
CREATE PROPERTY Business.Name STRING;
CREATE INDEX Business.Label UNIQUE;
-- Customer --
CREATE CLASS Customer EXTENDS V;
CREATE PROPERTY Customer.EmailAddress STRING;
CREATE PROPERTY Customer.Name STRING;
CREATE PROPERTY Customer.BusinessLabel STRING;
CREATE INDEX Customer.EmailAddress UNIQUE;
CREATE INDEX Customer.BusinessLabel NOTUNIQUE;
-- Customer to Business Edge --
CREATE CLASS CustomerOf EXTENDS E;
-- OETL Config --
{
"config":
{
"log": "debug"
},
"extractor" :
{
"jdbc":
{
"driver": "com.mysql.jdbc.Driver",
"url": "jdbc:mysql://localhost/Company",
"userName": "admin",
"userPassword": "admin",
"query": "SELECT EmailAddress, Name, BusinessLabel FROM Customer;" }
},
"transformers" :
[
{
log:
{
prefix: "MySQL -> "
}
},
{
merge:
{
joinFieldName: "EmailAddress",
lookup: "Customer.EmailAddress"
}
},
{
vertex:
{
class: "Customer"
}
},
{
edge:
{
joinFieldName: "BusinessLabel",
lookup: "Business.BusinessLabel",
class: "CustomerOf",
direction: "out",
unresolvedLinkAction: "CREATE"
}
},
{
log:
{
prefix: "Vertex -> "
}
}
],
"loader" :
{
"orientdb":
{
"dbURL": "remote:localhost/Company",
"dbUser": "admin",
"dbPassword": "admin",
"dbType": "graph",
"tx":false,
"batchCommit":100,
"wal":false
}
}
}
--
---
You received this message because you are subscribed to the Google Groups
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.