欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

批量數(shù)據(jù)導(dǎo)入Neo4j的實(shí)現(xiàn)方式

 更新時(shí)間:2025年08月25日 08:47:41   作者:WHYBIGDATA  
本文總結(jié)了Neo4j批量數(shù)據(jù)導(dǎo)入的三種方式:LOADCSV(處理中小數(shù)據(jù)集)、neo4j-admin(適用于大數(shù)據(jù))及Kettle工具,需注意CSV格式、路徑配置、數(shù)據(jù)類型轉(zhuǎn)換及編碼問題,確保數(shù)據(jù)正確導(dǎo)入

批量數(shù)據(jù)導(dǎo)入Neo4j方式

1、寫在前面

  • Linux版本:Ubuntu Kylin 16.04
  • Neo4j版本:Neo4j-3.2.7

2、前置芝士

  • 最常見的數(shù)據(jù)格式之一是平面文件上的行和列。
  • 這種電子表格格式被用于各種關(guān)系型數(shù)據(jù)庫的導(dǎo)入和導(dǎo)出,所以用這種方式檢索現(xiàn)有數(shù)據(jù)是很容易的。
  • 很明顯,CSV格式就是這種類型。

Cypher中的LOAD CSV命令允許我們指定一個(gè)文件路徑、是否有頭文件、不同的值定界符,以及Cypher語句,以便我們?cè)趫D形中對(duì)這些表格數(shù)據(jù)進(jìn)行建模。

進(jìn)入Neo4j安裝目錄,并且進(jìn)入到conf目錄中,查看neo4j.conf配置文件

zhangsan@node01:~$ cd /usr/local/neo4j-3.5.12/conf/
zhangsan@node01:/usr/local/neo4j-3.5.12/conf$ ll
總用量 24
drwxr-xr-x  2 lbj lbj  4096 11月 24 06:38 ./
drwxr-xr-x 12 lbj lbj  4096 11月 24 06:32 ../
-rw-r--r--  1 lbj lbj 15918 10月 18 04:21 neo4j.conf

neo4j.conf配置文件中的dbms.directories.import參數(shù)是關(guān)于load data的文件路徑的設(shè)置,默認(rèn)是在Neo4j安裝目錄下的

import目錄,刪除/注釋掉dbms.directories.import=import這一行,即可使用自定義路徑導(dǎo)入數(shù)據(jù)到Neo4j

# This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or comment it out to
# allow files to be loaded from anywhere in the filesystem; this introduces possible security problems. See the
# `LOAD CSV` section of the manual for details.
dbms.directories.import=import

3、CSV數(shù)據(jù)導(dǎo)入Neo4j

3.1 LOAD CSV Cypher命令

LOAD CSV Cypher命令:

  • 該命令是一個(gè)很好的導(dǎo)入數(shù)據(jù)方式,可以處理中小尺寸的數(shù)據(jù)集(最多1000萬條記錄)。
  • 可用于任何設(shè)置,包括AuraDB。

LOAD CSV可以處理本地遠(yuǎn)程文件,每一種都有一些相關(guān)的語法。

本地文件可以在文件名前使用file:///的前綴來加載。

因?yàn)锳uraDB是基于云(Cloud)的,所以這種本地文件的方法不能用于AuraDB,只能用于本地安裝。

  • CSV文件不帶有header
USING PERIODIC COMMIT 200 LOAD CSV FROM 'file:///tb_books.csv' AS line
merge (b1:books1{id:line[0],type:line[1],name:line[2],author:line[3],price:line[4]})
  • CSV文件首行是header信息
USING PERIODIC COMMIT 200 LOAD CSV WITH HEADERS FROM 'file:///tb_books.csv' AS line
merge (b1:books1{id:line[0],type:line[1],name:line[2],author:line[3],price:line[4]})

USING PERIODIC COMMIT之后的參數(shù):指定一次導(dǎo)入數(shù)據(jù)的上限是多少

關(guān)于csv格式數(shù)據(jù)導(dǎo)入的重要說明

  • 所有來自CSV文件的數(shù)據(jù)都是以字符串形式讀取的,所以你需要使用toInteger(), toFloat(), split()或類似函數(shù)來轉(zhuǎn)換數(shù)值。
  • 標(biāo)簽(label)、屬性名稱(field)、關(guān)系類型(relationship)和變量是區(qū)分大小寫的。
  • 數(shù)據(jù)越干凈,加載就越容易。盡量在加載前處理復(fù)雜的清理/操作。

請(qǐng)記住,Neo4j不存儲(chǔ)空值。CSV文件中的空字段可以被跳過,或者在LOAD CSV中用默認(rèn)值替換。

3.2 neo4j-admin命令

neo4j-admin批量導(dǎo)入工具:

  • 命令行工具,可用于直接加載大型數(shù)據(jù)集。
  • 適用于Neo4j桌面、Neo4j EE Docker鏡像和本地安裝。
../bin/neo4j-admin import --database orders
     --nodes=Customer=customers.csv
     --nodes=products.csv
     --nodes=Order="orders_header.csv,orders1.csv,orders2.csv"
     --relationships=CONTAINS=order_details.csv
     --relationships=ORDERED="customer_orders_header.csv,orders1.csv,orders2.csv"
     --trim-strings=true

3.3 Kettle導(dǎo)入工具

Kettle導(dǎo)入工具:

  • 映射和執(zhí)行數(shù)據(jù)處理流程的步驟,對(duì)于非常大的數(shù)據(jù)集來說效果很好。
  • 適用于任何設(shè)置,包括AuraDB。

4、數(shù)據(jù)導(dǎo)入失敗

如果,數(shù)據(jù)文件的路徑?jīng)]有問題之后,那大概率是文件的格式問題,將文件重新保存為utf-8的格式即可。

利用NotePad++或者Sublime Text即可

參考資料:neo4j

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • CentOS 7.2 安裝MariaDB詳細(xì)過程

    CentOS 7.2 安裝MariaDB詳細(xì)過程

    這篇文章主要為大家介紹了CentOS 7.2 安裝MariaDBMariaDB數(shù)據(jù)庫管理系統(tǒng)詳細(xì)過程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • apache 局域網(wǎng)訪問配置方案

    apache 局域網(wǎng)訪問配置方案

    linux下局域網(wǎng)訪問配置文件,大家可以參考下,安全設(shè)置
    2008-07-07
  • Apache 多站點(diǎn)虛擬主機(jī)配置方法

    Apache 多站點(diǎn)虛擬主機(jī)配置方法

    Apache 多站點(diǎn)虛擬主機(jī)配置方法, 有這類需要的朋友可以參考下。
    2009-07-07
  • Linux學(xué)習(xí)教程之redis哨兵集群詳解

    Linux學(xué)習(xí)教程之redis哨兵集群詳解

    這篇文章主要給大家介紹了關(guān)于Linux學(xué)習(xí)教程之Redis哨兵集群的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用redis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • 詳解在Linux中清空或刪除大文件內(nèi)容的5種方法

    詳解在Linux中清空或刪除大文件內(nèi)容的5種方法

    這篇文章主要介紹了詳解在Linux中清空或刪除大文件內(nèi)容的5種方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • Mysql常用命令 詳細(xì)整理版

    Mysql常用命令 詳細(xì)整理版

    MySQL是一個(gè)快速的、多線程、多用戶和健壯的SQL數(shù)據(jù)庫服務(wù)器。MySQL服務(wù)器支持關(guān)鍵任務(wù)、重負(fù)載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個(gè)大配置(mass-deployed)的軟件中去。
    2010-12-12
  • 詳解linux 看門狗驅(qū)動(dòng)編寫

    詳解linux 看門狗驅(qū)動(dòng)編寫

    本篇文章主要介紹了詳解linux 看門狗驅(qū)動(dòng)編寫,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • Linux下9種優(yōu)秀的代碼比對(duì)工具推薦小結(jié)

    Linux下9種優(yōu)秀的代碼比對(duì)工具推薦小結(jié)

    這篇文章主要介紹了Linux下9種優(yōu)秀的代碼比對(duì)工具推薦小結(jié),不僅有命令行工具,還有 GUI 界面工具,讓你輕松進(jìn)行代碼比對(duì),感興趣的可以一起來了解一下
    2020-06-06
  • 詳解Linux系統(tǒng)配置nginx的負(fù)載均衡

    詳解Linux系統(tǒng)配置nginx的負(fù)載均衡

    這篇文章主要介紹了詳解Linux系統(tǒng)配置nginx的負(fù)載均衡的相關(guān)資料,這里對(duì)負(fù)載均衡的幾種方式進(jìn)行了講解并附NGINX配置文件,需要的朋友可以參考下
    2017-03-03
  • Ubuntu軟件倉庫與更新源配置指南

    Ubuntu軟件倉庫與更新源配置指南

    本文詳解Ubuntu軟件倉庫的分類、配置方法及常見問題處理,涵蓋倉庫類型(Main/Universe等)、鏡像源替換、代理設(shè)置、密鑰驗(yàn)證等內(nèi)容,強(qiáng)調(diào)備份配置、謹(jǐn)慎使用第三方源及定期清理的重要性,需要的朋友可以參考下
    2025-06-06

最新評(píng)論