本文共1215个字,预计阅读时间需要4分钟。

最近有个上亿个关系/节点的数据需要导入到Neo4j,有以下几个工具可以导入:

  • Cypher CREATE 语句,为每一条数据写一个CREATE
  • Cypher LOAD CSV 语句,将数据转成CSV格式,通过LOAD CSV读取数据。
  • 官方提供的Java API —— Batch Inserter
  • Batch Import 工具
  • neo4j-import 工具(Neo4j自带)

于是乎,毫不犹豫选择了最后一种。

Neo4j-import可用的参数命令:

遇到的坑

  1. 这个工具一般来说是放在Neo4j安装目录的bin文件夹下,也有可能在C盘用户的隐藏文件夹.Neo4jDesktop中的数据库文件下(比较隐蔽)

  2. 在CSV文件中需要提前编写好header,例如:
    一般形式为名称:类型,用逗号分开,名称和类型必须要有一个,ID也是一个类型,它的名称可以忽略。包含的类型有:int、long、float、double、boolean、byte、short、char、string、point、date、localtime、time、localdatetime、datetime和duration中的一个来指定属性的数据类型。如果没有提供数据类型,则默认为string。若要定义数组类型,请将[]附加到该类型。

  1. 如果有多张实体表,他们可能有不同的ID,因此必须要在CSV文件中的头中增加名称空间,否则导入会报错。ID空间使用语法ID(<ID空间标识符>)在节点文件的ID字段中定义。要在关系文件中引用ID空间的ID,我们使用语法START_ID(<ID空间标识符>)和END_ID(<ID空间标识符>)。
    例如我有两张表需要导入,需要在ID后面指定实体的名称空间。
  • movieId:ID(Movie-ID),title,year:int,:LABEL
  • personId:ID(Actor-ID),name,:LABEL

4.如果出现下面的问题:
Neo4j批量导入“neo4j-admin导入”OutOfMemoryError:Java堆空间和OutOfMemoryError:超出GC开销限制(Neo4j bulk import “neo4j-admin import” OutOfMemoryError: Java heap space and OutOfMemoryError: GC overhead limit exceeded)
说明分配的内存不够了,需要修改neo4j.conf的配置,这个文件可以从neo4j-import的上级文件夹中的某个子文件夹找到。
需要修改两个值

  • dbms.memory.heap.initial_size=4096m
  • dbms.memory.heap.max_size=16384m

最后我的电脑卡在了出现的第四个问题上,没办法电脑内存不够,于是我选择了使用CYPHER的LOAD语句导入CSV,可以采用USING periodic commit 10000这样的语法提高导入效率。

更多内容访问 omegaxyz.com
网站所有代码采用Apache 2.0授权
网站文章采用知识共享许可协议BY-NC-SA4.0授权
© 2020-2025 • OmegaXYZ-版权所有 转载请注明出处

Neo4j-import导入CSV的数据相关推荐

  1. Excel操作之获取数据——从Excel导入CSV文件数据

    从excel导入csv文件数据:数据-->获取数据-->自文件-->从文本/CSV 选择文件,之后,点击转换数据 在弹出的Power Query编辑器中,选择关闭并上载-->关 ...

  2. MySQL LOAD DATA INFILE 导入 CSV 格式数据

    主要介绍将 Neo4j 数据库中数据全部导入到 MySQL 数据库中,将 Neo4j 数据导出为 CSV 格式数据,然后再将 CSV 格式数据导入到 mysql 中. 前半部分,即 Neo4j 数据导 ...

  3. mysql导入csv大数据

    环境: ubuntu18.10 python3.6 数据集来自kaggle:ieee-fraud-detection中的identity_test.csv ###################### ...

  4. python怎么导入csv文件数据-机器学习Python实践——数据导入(CSV)

    一,CSV 逗号分隔值(逗号分隔值,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).字幕:纯意味着该文件的英文一个字符序列,不含必须像二进制数 ...

  5. 使用sqlldr导入.csv文件数据到oracle相关配置 亲测可用

    一.创建一个emp. ctl文件,内容具体配置如下 Load data CHARACTERSET ZHS16GBK  --编码 infile 'C:\Users\47641\Desktop\T_JCS ...

  6. Linux如何通过csv导入neo4j,neo4j-import导入CSV 数据

    neo4j-import 1.使用条件 必须先关闭neo4j 无法在原有数据库添加,只能重新生成一个数据库 导入文件格式为csv 2.参数 –into:数据库名称 –bad-tolerance:能容忍 ...

  7. sqlite 数据量_向SQLite批量导入csv,txt数据

    将csv或者txt格式的文件导入SQLite一般有两种方式: 使用pandas.readcsv()读取后,用to_sql方法写入数据库 使用SQLiteStudio创建表格,再导入数据 但是这两种方法 ...

  8. MySQL中导入CSV文件数据

    -- 创建并使用数据库. CREATE DATABASE IF NOT EXISTS `rdsdb`; USE `rdsdb`;-- 创建表 DROP TABLE IF EXISTS `cx_sock ...

  9. mysql导入csv文件 第一行有问题_mysql 导入 csv文件中数据,只能导入第一行

    用workbench导入csv数据,只能导入数据的第一行,也就是标注每一列的列名的那一行. 但问题是,每次导入完成时,系统提示已经导入了500条记录(这个文件中的确有500条记录),可是刷新数据库后打 ...

  10. mysql数据导入导出 CSV格式_MySQL中导入导出CSV格式数据

    原标题:MySQL中导入导出CSV格式数据 预备阅读:MySQL中的主键问题和赋权限问题 今天来讲一下在MySQL中导入和导出CSV格式数据的操作. CSV格式数据 逗号分隔值(Comma-Separ ...

最新文章

  1. 探索机器学习理论的最新进展,走近云、端、芯上的视觉计算——“智源论坛:机器学习报告会”重点梳理...
  2. POJ 3687 拓扑排序
  3. 每天一道LeetCode-----找出给定序列的所有子序列
  4. 写论文必须养成的十大良好写作习惯
  5. oracle临时表经常被锁_【赵强老师】Oracle数据库的存储结构
  6. Java文件操作增强工具
  7. php mysql errorcode_PHP MySQL错误设置
  8. C# BackgroudWorker
  9. 董事长亲自“翻墙偷拍”后,身价暴涨3000万
  10. 秒味课堂Angular js笔记------$scope.$watch和$scope.$apply
  11. php complex,PHP復雜的基於角色的訪問控制列表
  12. C++ 泛型编程-模板
  13. Java多线程系列--“JUC集合”09之 LinkedBlockingDeque
  14. 自动化部署流程_自动化会议提交工作流程:部署到生产
  15. (转)通过Net-Speeder为***提升网速
  16. 华工高级语言程序设计c十十作业,华工高级语言程序设计c随堂练习答案
  17. java小白训练营2109-day05-API:API+字符串工具类+身份证解析
  18. C语言:L1-051 打折 (5 分)
  19. 利用Python实现纬度加权平均(即NCL中的wgt_areaave)
  20. 在windows下使用python中的select函数报错‘[WinError 10038] 在一个非套接字上尝试了一个操

热门文章

  1. C++ 类的静态成员变量为什么一定要初始化
  2. 14. 使用reserve避免不必要的内存分配
  3. oracle tochar fm,oracle的to_char中的fm-Oracle
  4. python生成器的实现及原理
  5. bme280中文技术手册_Rhino 6 中文训练手册发布
  6. python赋值运算符_解释一下python中的赋值运算符
  7. 德国Java工程师_1886年,德国工程师。
  8. Cesium:加载百度地图
  9. 调用登录_微信小程序登录那些事
  10. Twitter数据抓取的方法(一)