我有3个CSV文件要加载到一个OrientDB图中。
People.csv就像
person_id;name
1;francesco
2;luca
Product.csv就像
product_id;product_name
101;apple
102;banana
Purchases.csv就像
person_id;product_id;avg_price
1;101;$1.10
2;101;$1.08
1;102;$5.34
我首先加载所有的人和产品与两个不同的ETL工作。每个任务都加载顶点。
当人们购买新产品时,我如何使用OrientdbETL定期加载边缘?
所有的变形金刚,特别是边缘输出OrientVertex,那只能是INSERTed的加载器步骤。(边缘转换器向顶点添加边缘属性,但实际操作是顶点的插入)。是否有使用ETL更新顶点的方法?
Rgds
弗朗西斯科
发布于 2016-04-26 12:39:26
带有这些变压器的ETL应该从purchases.csv导入“购买”边缘,并更新每个购买产品的avg_price。
"transformers": [
{ "merge": { "joinFieldName": "product_id", "lookup": "Product.id" } },
{ "vertex": {"class": "Product", "skipDuplicates": true} },
{ "edge": { "class": "Purchase",
"joinFieldName": "person_id",
"lookup": "Person.id",
"direction": "in"
}
},
{ "field": { "fieldNames": ["person_id", "product_id"], "operation": "remove" } }
]
类和属性名称("Product.id“、"Person”等)根据您的DB模式可能有所不同。
https://stackoverflow.com/questions/33059257
复制相似问题