成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用batch-import工具向neo4j中導入海量數據

運維 數據庫運維
在開發neo4j的過程中,經常會有同學問如何向neo4j中導入大量的歷史數據,而這些數據一般都會存在于關系型數據庫中,現在本人就根據自己的導入經歷,把導入的過程和一些挖過的坑分享給大家,以便后面的同學少走彎路。

【引自T_SevenS的博客】在開發neo4j的過程中,經常會有同學問如何向neo4j中導入大量的歷史數據,而這些數據一般都會存在于關系型數據庫中,現在本人就根據自己的導入經歷,把導入的過程和一些挖過的坑分享給大家,以便后面的同學少走彎路,廢話不多說,直接上干貨。

1、batch-import原始項目地址:https://github.com/jexp/batch-import

這個工具是neo4j的作者之一Michael Hunger所編寫,是在neo4j自帶批量導入工具基礎之上做的進一步優化,但是它在導入.gz壓縮文件時,會出現關系無法導入的情況,所以如果要使用.gz壓縮包進行導入,請使用我修改過的版本:https://github.com/mo9527/batch-import

2、環境準備

jdk:7以上

內存:8G以上,導入數據多的話會非常消耗內存,我自己導入的是將近1.5億節點,3億關系,用的是32G內存

3、導入步驟

a)從github上clone下代碼,并使用maven進行打包,打完包后的jar文件,與項目本身的依賴jar一起放到lib文件夾下,batch.properties文件和執行導入的腳本放在lib同級目錄下,***的目錄結構如下圖:

 

ps:file文件夾是我自己將要導入的csv文件和.gz壓縮包。

b)組裝csv文件

說起這一步,可能需要你們根據自己的實際業務需求,手動寫代碼導csv文件了,這里我只講一下csv文件格式一些要點:

1)、節點csv文件

節點csv文件的***列是固定的,列值為此節點的label名稱,第二列是index,它的列頭是id:string:indexName 這種格式,解釋一下,id是這一列的property名字,可以根據需要自己命名,string為字段的數據類型,indexName是neo4j數據庫中將要導入的索引名稱,我自己的文件格式如下:

 

然后,后面的列就是節點的property了,沒什么特別的要求

2)、關系csv文件

先看下我的關系csv文件:

 

關系的csv文件前兩列要特別注意,***列是關系的起始節點,第二列是關系的結束節點,第三列是關系類型,后面的列是關系的property,可以隨意了。他github上的說明沒有說出一些注意點,這里要特別標明:

***列的起始節點的列頭,也就是id:string:buyerId這個東西,這個玩意一定要和節點csv文件(上圖)中定義的一模一樣,第二列也是如此,要和結束節點的csv文件里的一樣,不然他會找不到對應的關系。

3)、修改batch.properties文件

主要修改兩個地方,

  • 如果是在現有的neo4j數據庫中進行導入,請設置:

batch_import.keep_db=true

  • 將節點csv文件中所有的索引名稱加入到文件中,例如上面這個節點csv文件中的索引名稱是buyerId,那就在文件中加入batch_import.node_index.buyerId=exact

以下是我本人的配置文件:

 

4、導入

linux和win環境的導入都差不多,只不過執行的腳本不一樣,這里以win環境為例。

文件都準備好了,現在開始導入了。

打開cmd,cd到導入腳本的目錄,也就是import.bat所在目錄,執行命令:

  1. import.bat test.db node.csv rel.csv 

解釋一下命令的幾個參數:***個參數是數據庫的目錄,可以絕對路徑指定到任意位置,第二個參數是節點csv文件,多個csv文件用逗號分隔,如果是壓縮包,一定要注意,這里有個坑,不能把所有類型的node都放到一個壓縮包中,一定要每個類型的node分開壓縮,不然它只會導入***個類型的node節點,同理,關系的壓縮包也要分開壓縮,然后導入時用逗號分隔.gz文件。

好了,如果你的csv文件沒有問題,內存足夠用的話,現在就開始等待吧。

如果想修改導入工具的Heap大小,可以修改腳本文件中的 set HEAP=4G 

 

溫馨提示:如果節點文件中有中文的話,導入會非常慢的,除非你內存有128G,我有一個節點文件,里面只有一列是中文,而且中文最長不超過4個漢字,2000多萬記錄導了2個小時,注意我是32G內存,其他4000多萬的節點,沒有漢字的,基本上不超過2分鐘。 

責任編輯:龐桂玉 來源: T_SevenS的博客
相關推薦

2017-07-28 15:12:28

Neo4j圖數據庫

2022-11-18 17:53:03

Neo4j

2022-04-13 11:32:45

Neo4j圖數據庫

2018-05-16 08:26:39

知識圖譜Neo4j

2021-12-27 07:31:37

JavaNeo4J數據庫

2024-08-08 08:31:32

SpringNeo4j優化

2011-07-26 12:48:52

neo4j圖數據庫

2021-12-03 20:33:08

計算

2024-06-03 10:53:18

LLMRAGGraphRAG

2022-01-17 14:34:59

數據平臺數據數字化

2022-01-17 17:10:18

Neo4j 圖數據庫

2011-09-22 16:46:02

Neo4j圖形數據庫數據庫

2015-09-28 08:57:06

Ruby APPNeo4j

2018-05-03 15:40:33

2022-02-15 08:22:28

Neo4jSpring數據庫

2021-10-27 17:20:23

圖數據數據庫

2022-09-08 13:57:00

SpringBootNeo4j

2022-03-23 09:37:54

Neo4j開源侵犯

2010-03-18 16:51:00

python語法入門

2015-01-15 10:33:22

Android Stu導入開源庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品成人久久久久 | 看片国产 | 亚洲视频手机在线 | 精品国产乱码久久久久久丨区2区 | 亚洲精品日韩欧美 | 一级在线视频 | 天天插天天搞 | 无吗视频 | 亚洲精品中文在线 | h片在线看 | 亚洲一区自拍 | 日韩精品在线一区 | 亚洲xxxxx| 亚洲精品国产精品国自产在线 | 韩日精品一区 | 国产精品视频一二三区 | 国产精品视频偷伦精品视频 | 一本色道精品久久一区二区三区 | 国产日韩91 | 亚洲精品免费观看 | 97avcc| 日韩精品在线网站 | 亚洲黄色网址视频 | 成人午夜激情 | 久久精品天堂 | 极品一区| www.日韩| 特一级黄色毛片 | 精品一二三 | 国产第一页在线播放 | 成人一级视频在线观看 | 国产成人精品久久二区二区91 | 久久久久久亚洲国产精品 | 亚洲深夜福利 | 欧美成年黄网站色视频 | 亚洲成人一区二区三区 | 国产三级精品三级在线观看四季网 | 中文成人在线 | 久久不卡区| 成人在线电影在线观看 | 日本免费一区二区三区 |