【小笔记】如何在docker中更新或导入neo4j数据?

news2025/1/16 1:36:39

如何在docker中更新或导入neo4j数据?

(1)背景
我尝试了4.4.9和5.19.0版本的Neo4j社区版,基于他们的镜像创建容器后,需要导入我准备好的csv文件或dump文件,因为数据量非常大,所以采用neo4j-admin工具导入方案
(2)遇到的问题
neo4j-admin工具需要使Neo4j处于停止状态,当进入容器后,执行了neo4j stop指令后,容器会自动退出!查询运行的docker容器,发现容器已经停止运行了…然后曾经的3.X版本是可以停止后,保持在容器中操作的。
不停止neo4j进行数据导入,就只有load CSV方式了,但是我的数据量有几百万,load csv想都不敢想…
(3)原因:
在这里插入图片描述
(4)可能的解决办法

在这里插入图片描述
我试过上面的5,无效,然后又在网上找了一通,发现谈这个问题的都很少,始终没找到一个可好用有效的办法。

(6)最终解决办法
找个这篇博客,尝试了一下,发现有用:
neo4j 数据迁移简单操作

我再结合我的实践说一下我的理解和分析:

  • docker版本的Neo4j,特别是用到了5.X的,neo4j stop这个指令就基本上不能用了,用了就停止容器,还怎么执行neo4j-admin呢?所以只能考虑在容器未运行的状态下进行数据迁移;
  • 容器停止状态下,dump和csv都无法导入,准确说来,什么导入方式都不可用,但是还有一种最简单纯粹的方法:就是复制已经导入好的数据库数据,替换容器的空数据库数据,即用数据复制的方式

数据复制的具体方法(可用)

1.首先你的Neo4容器(称为A)它在创建时是有外挂路径的,至少要挂载data路径(存放数据库文件)

docker run -d --name neo4j-5.19 -p 7474:7474 -p 7687:7687 -v /data/neo4j/data:/data -v /data/neo4j/logs:/logs -v /data/neo4j/conf:/var/lib/neo4j/conf -v /data/neo4j/import:/var/lib/neo4j/import --env NEO4J_AUTH=neo4j/neo4j 可用的镜像版本
  1. 在你的电脑,win或linux都可以,再搞一个Neo4j(称为B,就是正常的安装包,不是容器),基于它完成数据导入:
    (1)删除两个目录:data/databases/neo4j,data/transactions/neo4j
    (2)切换到Neo4j目录下的bin路径:cd bin
    (3)执行neo4j-admin进行数据导入,5.X版本的参考如下:
neo4j-admin database import full --nodes=import/nodes_series.csv --nodes=import/nodes_part_fused.csv --relationships=import/relation_series2part_fused.csv --skip-bad-relationships

此时data/databases/neo4j,data/transactions/neo4j两个路径下的数据会重新生成,即导入的数据。

3.复制B的data/databases/neo4j,data/transactions/neo4j到A对应的路径下进行替换(替换前,可以先删除A挂载路径下的data/databases/neo4j,data/transactions/neo4j)。

4.启动A,可以发现A原本没数据的,现有有了数据了。如此,达成曲线救国。

特别注意:A和B的版本必须一模一样,如此B的导入数据在A中可以正常使用!
上面给的是B的neo4j-admin导入方式,实际上其它方式,在容器外都是可用的哈。

附录:Neo4j数据导入方式

Neo4j导入数据的方式有:

  • 使用LOAD CSV导入数据
  • 使用APOC导入数据
  • 使用编程语言(Java,python,js,C#,Go)导入数据
  • 使用neo4j-admin工具导入数据
  • 使用应用导入数据
  • 使用ETL工具导入数据
    在这里插入图片描述
    详细可参考:
    Neo4j导入数据的5种方式详解配图

个人经验:
(1)小数据集(如几百、几千条)可以用load CSV方式,最简单,无需停止Neo4j,可以在线导入,最大缺点就是慢,且导入数据有上限(好像是1W条)
(2)大量数据(如十万、百万级),用neo4j-admin工具导入,百万级实体和关系导入,只需要秒级或几分钟级,缺点:必须基于空数据库,且neo4j处于未运行状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1691072.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IntelliJ IDEA集成Baidu Comate,商城系统支付交易功能开发实战

文章目录 Baidu Comate介绍安装配置体验安装插件配置体验注释生成代码技术问答 实战设计表生成代码导入数据 总结 Baidu Comate介绍 在科技互联网飞速发展的今天,百度凭借其深厚的技术积累和创新能力,推出了一款名为Baidu Comate智能代码助手的产品。该…

JS-03深入了解构造函数

目录 1 引入构造函数 2 通过构造函数创建对象-内置 3 自定义一个构造函数来创建对象 3.1 构造函数的概念 3.2关于new Object() 3.3 构造函数的执行过程 3.3.1构造函数的返回值 3.3.2 如何判断一个数据是否是复杂数据类型? 3.3.3为什么要理解构造函数的返回值&…

15、24年--信息系统管理——管理要点

1、数据管理 数据管理使指通过规划、控制与提供数据和信息资产的职能,包括开发、执行和监督有关数据的计划、策略、方案、项目、流程、方法和程序,以获取、控制、保护、交付和提高数据和信息资产价值。 DCMM定义了数据战略、数据治理、数据架构、数据应用、数据安全、…

如何官方查询论文分区,中科院及JCR

中科院分区 有一个小程序:中科院文献情报中心分区表 点2023升级版,输入期刊名 大类1区 JCR分区 进入官方网站 Journal Citation Reports 输入要查询的期刊名,点开 拼命往下拉 这就是根据影响因子的排名,在computer science&am…

柱状图中最大的矩形 - LeetCode 热题 73

大家好!我是曾续缘😛 今天是《LeetCode 热题 100》系列 发车第 73 天 栈第 5 题 ❤️点赞 👍 收藏 ⭐再看,养成习惯 柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xf…

使用docker-compose部署时序数据库InfluxDB1.8.4

背景 如今 InfluxDB 已经更新到了 2.x , InfluxDB 1.x 和 2.x 版本之间有几个主要的区别: 数据模型: 1.x:使用数据库和保留策略来组织数据。 2.x:引入了组织(organizations)和存储桶&#xff…

抖音极速版:抖音轻量精简版本,新人享大福利

和快手一样,抖音也有自己的极速版,可视作抖音的轻量精简版,更专注于刷视频看广告赚钱,收益比抖音要高,可玩性更佳。 抖音极速版简介 抖音极速版是一个提供短视频创业和收益任务的平台,用户可以通过观看广…

【LeetCode】【1】两数之和(1141字)

文章目录 [toc]题目描述样例输入输出与解释样例1样例2样例3 提示进阶Python实现哈希表 个人主页:丷从心 系列专栏:LeetCode 刷题指南:LeetCode刷题指南 题目描述 给定一个整数数组nums和一个整数目标值target,请在该数组中找出…

【linux-kernel内核移植记录-踩坑以及注意事项】

目录 1. 环境介绍2.编译原厂的kernel2.1 通过tftp挂载原厂linux内核 3. 修改对应的驱动3.1 修改CPU频率3.2 修改MMC3.3 修改网络驱动 4. 总结 1. 环境介绍 ubuntu版本16.04I.MX6ULL开发板,阿尔法uboot正常启动,能ping通ubuntu,可通过tftpboo…

使用delphi11编写一个基于xls作为数据库的照片展示程序

1、创建xls文档可以参考前一篇博客,并使用wps将文档保存为2003格式xls后缀。 2、在form上面放置adoconnection、adotable、datasource、spinedit、timer、checkbox、image、4个button组件。 image的设置: Image1.Align : alClient; Image1.Center : Tr…

【全开源】答题考试系统源码(FastAdmin+ThinkPHP+Uniapp)

答题考试系统源码:构建高效、安全的在线考试平台 引言 在当今数字化时代,在线考试系统已成为教育机构和企业选拔人才的重要工具。一个稳定、高效、安全的答题考试系统源码是构建这样平台的核心。本文将深入探讨答题考试系统源码的关键要素,…

mysql binlog统一恢复误删数据库、表、数据(没有任何备份)

先将mysql文件夹中的my.ini进行设置 在 [mysqld]下边加上 # mysql-bin 是日志的基本名或前缀名,最后生成的日志文件是mysql-bin.000001类似,重启mysql数字会递增 log_binmysql-bin #binlog格式,statement,row,mixed可…

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第28课-avatar玩家3D形象

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第28课-avatar玩家3D形象 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界…

Python列表,元组,集合,字典详解一篇搞懂

目录 介绍 列表(List) 集合(Set) 字典(Dict) 元组(Tuple) 列表 列表定义 ​编辑 列表切片 列表常用方法 append extend ​编辑 insert ​编辑 remove pop ​编辑 clear ​编辑 列表修改元素 sort 升序 倒序 reverse count ​编辑 index 浅拷贝和深拷贝 …

CV之Nougat:Nougat(一种基于神经网络实现OCR功能的视觉转换器模型)的简介、安装和使用方法、案例应用之详细攻略

CV之Nougat:Nougat(一种基于神经网络实现OCR功能的视觉转换器模型)的简介、安装和使用方法、案例应用之详细攻略 目录 相关论文 《Nougat: Neural Optical Understanding for Academic Documents》的翻译与解读 Nougat的简介 Nougat的安装和使用方法 1、安装 …

成犬必备!福派斯鲜肉狗粮,亮毛祛泪痕的神奇功效!

对于成犬来说,选择一款合适且高质量的狗粮至关重要。成犬时期的狗狗正处于身体和生理机能逐渐稳定的阶段,因此,需要选择能够满足其日常营养需求、维持健康状态并有助于长寿的狗粮。理想的狗粮应当包含狗狗所需的各种营养物质,如高…

使用CyberRT写第一个代码, test ok

简介 计算框架是自动驾驶系统中的重中之重,也是整个系统得以高效稳定运行的基础。为了实时地完成感知、决策和执行,系统需要一系列的模块相互紧密配合,高效地执行任务流。由于各种原因,这些模块可能位于不同进程,也可能位于不同机器。这就要求计算框架中具有灵活的、高性…

uniapp+canvas实现逐字手写效果

在移动端使用 UniApp 进行逐字手写的功能。用户可以在一个 inputCanvas 上书写单个字,然后在特定时间后将这个字添加到 outputCanvas 上,形成一个逐字的手写效果。用户还可以保存整幅图像或者撤销上一个添加的字。 初始化 Canvas: 使用 uni.c…

SpringCloud系列(29)--准备使用Hystrix的前期工作,创建服务提供者模块

前言:在上一章节中我们简单的介绍了关于Hystrix的相关知识点,而本节内容则是关于如果去使用Hystrix构建一个支付微服务。 1、创建一个服务提供者模块,命名为cloud-provider-hystrix-payment8001 (1)在父工程下新建模块 (2)选择模块的项目类型…

香橙派华为昇腾CANN架构编译opencv4.9

香橙派华为升腾AI盒子 为啥要编译opencv4.9.0, 因为在4.9.0 中增加了华为昇腾CANN的外接开发库,下图为盒子外观,此次一接到这个盒子,立刻开始开箱操作,首先就是要编译opencv4.9,以前在香橙派3588 的盒子中…