2016-03-24 20 views
0

csv dosyalarını kullanmadan neo4j veritabanına aktarmak istiyorum, yani mysql resultset'im varsa o zaman bunu neo4j'ye döküyorum ve işlenmiş kayıtları işlenmiş olarak mysql db olarak işaretleyin.neo4j ithalatçı - csv kullanmadan

İlişkiler ve dizin oluşturma, csv dosyaları gerektirmeden bellekte yönetilmelidir.

Yapmanın bir yolu, bahar şablonunun .save yöntemini kullanmaktır, ancak her seferinde yalnızca bir varlık alır, milyonlarca kayıt var ve çok uzun sürecek.

Herhangi bir API kullanarak neo4j DB'ye ekleyebilir miyim?

cevap

0

neo4j-csv-firehose project'a bakın. Benioku:

neo4j-csv-firehose, Neo4j’in LOAD CSV Cypher komutunun diğer veri kaynaklarından başka yüklenmesini de sağlar. Diğer veri kaynağının csv'ye anında aktarılmasını sağlar ve bu nedenle LOAD CSV için girdi olarak kullanılabilir.

Sen mysql csv-firehose işaret ve Cypher'ın LOAD CSV CSV formatında (bir masanın veya içeriği) SQL ifadesindeki sonuçlarını yayınlayabilirsiniz. Bu, mysql'den CSV'ye dışa aktarma verileriyle uğraşmak zorunda kalmadan, içe aktarma için LOAD CSV Cypher performansını kullanmanızı sağlar.

Örneğin, MySQL bağlanmak ve Neo4j içine person adlı bir tablo içeriğini almak için:

load csv with headers from "http://localhost:7474/csv/jdbc?url=jdbc%3Amysql%3A%2F%2Flocalhost%2Fmydb&table=person&user=mydb&password=123" as line create (:Person {firstname: line.firstName, lastname: line.lastName}); 

diğer örnekleri açıklanmıştır here.