官术网_书友最值得收藏!

2.5.3 使用Load CSV指令導入到Neo4j

Neo4j提供了Load CSV命令幫助我們將CSV數據文件導入到Neo4j中,下面給出幾個讀取CSV文件但不存入數據庫的例子。

2.5.3.1 簡單導入CSV數據

以下將使用Load CSV指令讀取但不存入數據庫:

上述例子僅僅用來讀取CSV文件,并沒有將數據存入到數據庫中。下面介紹Load CSV的用法。

LOAD CSV FROM "file-url" AS line,這條指令將指定路徑下的CSV文件讀取出來,其中file-url是文件的地址,可以是本地文件路徑也可以是網址,只要能從地址中讀取到CSV文件即可,因此也可以這樣寫:

這樣就可以讀取網址指定的movie.csv文件。

或者可以使用本地文件路徑:

這樣就可以讀取到E:/products.csv文件。

如果把CSV文件放置在Neo4j系統路徑的import文件夾內,則不需要指定CSV文件的路徑,語句如下所示,可以讀取到放入import文件夾內的products.csv文件。

RETURN語句是用來返回并顯示結果到結果顯示區的語句。

LIMIT語句是用來限制返回的行數。

現在我們可以讀取CSV文件了,但是數據并沒有存入到數據庫中。要將數據存入到Neo4j數

執行完上面語句后,會看到結果顯示區顯示了所創建的節點數量,如圖2-95所示。

圖2-95 顯示區顯示了所創建的節點數量

然后,用以下語句來查看數據庫中是否已經有導入的數據:

運行上面語句后,可以得到如圖2-96所示的結果。

圖2-96 查詢導入后結果

如果我們的結果如上圖所示,則說明數據已經導入成功了。

2.5.3.2 導入CSV時附帶表頭

下例介紹如何在導入CSV時附帶上表頭。

上述語句添加了WITH HEADERS子句,它的功能就是在導入CSV時附帶上表頭,這些表頭可以通過line.Id、line.Track指定。執行完上述語句后,可以使用下面語句查看并確認:

將得到如圖2-97所示的結果。

圖2-97 查詢導入后的結果

可以看到,每個數據元素都帶有TrackId、Name、Length頭部元素。

2.5.3.3 導入CSV大文件

如果要導入包含大量數據的CSV文件,則可以使用PERODIC COMMIT子句。

使用PERIODIC COMMIT可以指示Neo4j在執行完一定行數后提交數據再繼續,這樣就能夠減少內存開銷。

PERIODIC COMMIT的默認值為1000行,因此數據將每一千行提交一次。

如果要使用PERIODIC COMMIT,只需要在LOAD CSV語句之前插入USING PERIODIC COMMIT語句。

具體使用方法如下:

我們可以通過如下語句改成每800行提交一次:

主站蜘蛛池模板: 徐水县| 德格县| 鄱阳县| 进贤县| 和龙市| 昂仁县| 商河县| 清河县| 横峰县| 新兴县| 和硕县| 望奎县| 开封县| 左权县| 莲花县| 卢氏县| 文山县| 顺平县| 汶上县| 沙坪坝区| 霍林郭勒市| 读书| 闽侯县| 鹿泉市| 恩平市| 沁水县| 紫云| 任丘市| 桂林市| 西充县| 沭阳县| 灵川县| 恩施市| 安乡县| 汝阳县| 长子县| 裕民县| 巫溪县| 博爱县| 盖州市| 鄂州市|