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

如何在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处于未运行状态。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

装备制造项目管理软件:奥博思PowerProject项目管理系统

数字化正逐步改变着制造方式和企业组织模式。某制造企业领导层透露,在采用数字化项目管理模式后,企业的发展韧性更加强劲,构筑起了竞争新优势,企业产品研制周期缩短25%,生产效率提升18%。 随着全球经济的发展&#xf…

北理工提出 LTrack 双摄像头系统 | 专注于暗场景多目标跟踪,自动驾驶和夜间监控的福音!

低光照场景在现实世界应用中很普遍(例如自动驾驶和夜间监控)。最近,在各种实际用例中的多目标跟踪受到了很多关注,但在暗场景中的多目标跟踪却鲜少被考虑。 在本文中,作者专注于暗场景中的多目标跟踪。为了解决数据集…

【电子学会】2023年09月图形化一级 -- 芝麻开门

芝麻开门 1. 准备工作 (1)删除小猫角色,添加角色Key; (2)删除白色背景,添加背景Castle 1和Pathway。 2. 功能实现 (1)点击绿旗,钥匙在舞台中间&#xff…

Git 的安装和使用

一、Git 的下载和安装 目录 一、Git 的下载和安装 1. git 的下载 2. 安装 二、Git 的基本使用-操作本地仓库 1 初始化仓库 1)创建一个空目录 2)git init 2 把文件添加到版本库 1)创建文件 2)git add . 3)g…

51单片机简单控制180度舵机

代码: 链接:https://pan.baidu.com/s/1K9dg2NwRhy49db_O_hqv-g?pwd1234 提取码:1234 一、路线 我在了解这个舵机之前最像想看到的是一个完全的路径。 比如我想学习b站上那个智能门锁,那就得每个模块的基本代码都会才能结合各…

​​​【收录 Hello 算法】第 10 章 搜索

目录 第 10 章 搜索 本章内容 第 10 章 搜索 搜索是一场未知的冒险,我们或许需要走遍神秘空间的每个角落,又或许可以快速锁定目标。 在这场寻觅之旅中,每一次探索都可能得到一个未曾料想的答案。 本章内容 10.1 二分查找10.2 二…

智慧展厅设计的难点有哪些

1、运用先进的展示技术 将全息影像、三维投影、虚拟现实、人机互动等技术做做完美衔接,把展厅的内容展示做到丰富多彩,从而让展厅富有科技感和艺术性。 2、内容要生动有趣 从而更好地吸引参观者。展厅设计师要与客户有良好深入的沟通,搜集与整…

struct.unpack_from()学习笔记

struct.unpack_from(fmt,b_data,offset) 按照指定的格式fmt,从偏移位置offset,对b_data开始解包,返回数据格式是一个元组(v1,v2…) fmt可以有: _struct.py: The remaining chars indicate types of args and must match exactly;…

WPF之容器标签之Canvas布局标签

Canvas: 定义一个区域&#xff0c;可在其中使用相对于 Canvas 区域的坐标以显式方式来定位子元素。 实例 可以在子标签使用Canvas属性设置定位 <Canvas Width"500" Height"300"><StackPanel Width"100" Height"100"Backgro…

详解最新版RabbitMQ 基于RPM 方式的安装

如何选择安装版本 已经不支持的发布系列 版本最后补丁版本首次发布时间停止更新时间3.73.7.282017年11月28日2020年09月30日3.63.6.162015年12月22日2018年05月31日3.53.5.82015年03月11日2016年10月31日3.43.4.42014年10月21日2015年10月31日3.33.3.52014年04月02日2015年03…

列表元素添加的艺术:从单一到批量

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、向列表中添加单一元素 1. append方法 2. insert方法 三、向列表中添加批量…

2024年学浪视频怎么下载到手机相册

随着2024年的到来&#xff0c;学浪平台继续为广大学习者提供优质的在线教育资源。然而&#xff0c;如何将这些宝贵的视频内容下载到手机相册&#xff0c;方便随时离线观看呢&#xff1f;无论您是想在旅途中学习&#xff0c;还是希望在没有网络的情况下复习课程&#xff0c;本文…

网络层协议——IP协议

目录 一、IP协议 二、IP协议格式 三、网段划分 四、私网IP地址和公网IP地址 五、路由 一、IP协议 IP指网际互连协议&#xff0c;Internet Protocol的缩写&#xff0c;是TCP/IP体系中的网络层协议。 IP协议主要作用是提供一种能力&#xff0c;将数据从A主机传送到B主机的能力…

转行3年涨薪300%,我总结了一套产品经理快速入门指南!

想转行的产品小白&#xff0c;初期一定会遇到这个问题——我要如何 0 基础转行产品经理&#xff1f; 要想 0 基础快速转行产品经理&#xff0c;我通过个人实践总结了 5 个关键点&#xff0c;可以参考。 一、熟悉产品经理的工作全流程 转行的产品小白&#xff0c;首先要建立产…

【飞桨AI实战】基于PP-OCR和ErnieBot的智能视频问答

前言 本次分享将带领大家从 0 到 1 完成一个基于 OCR 和 LLM 的视频字幕提取和智能视频问答项目&#xff0c;通过 OCR 实现视频字幕提取&#xff0c;采用 ErnieBot 完成对视频字幕内容的理解&#xff0c;并回答相关问题&#xff0c;最后采用 Gradio 搭建应用。本项目旨在帮助初…

AI预测福彩3D采取888=3策略+杀断组+杀和尾缩水测试5月24日预测第1弹

哈喽&#xff0c;各位亲爱的小伙伴&#xff0c;在发布本期预测结果之前&#xff0c;先对最近的这套算法测试做一下总结。 最近的一套算法采用了88723的容差策略&#xff0c;关于容差策略相信大家都比较清楚&#xff1a;容差可以最大限度的保证初始大底中包含中奖号码&#xff0…

探秘机器学习经典:K-近邻算法(KNN)全解析

在浩瀚的机器学习宇宙中,K-近邻算法(K-Nearest Neighbors,简称KNN)如同一颗璀璨的明星,以其简洁直观的原理和广泛的应用范围,赢得了众多数据科学家的喜爱。今天,让我们一起揭开KNN的神秘面纱,深入探讨它的运作机制、优缺点、应用场景,以及如何在实际项目中灵活运用。 …

Prometheus监控平台配置--监控mysql

上一篇中讲述了怎么安装Prometheus&#xff0c;然后对服务器集群资源信息进行监控并通过grafana展示监控信息&#xff0c;在这一篇中我们只讲和mysql相关的监控&#xff0c;关于prometheus的监控原理以及安装可以看下上一篇。 1.上传 通过rz命令将安装包上传到任意目录&#xf…

linux之防火墙工具

netfilter Linux防火墙是由Netfilter组件提供的&#xff0c;Netfilter工作在内核空间&#xff0c;集成在linux内核中。 Netfilter在内核中选取五个位置放了五个hook(勾子) function(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING)&#xff0c;而这五个hook function向用户…

21-信号集处理函数

屏蔽信号集 屏蔽某些信号 手动自动 未处理信号集 信号如果被屏蔽&#xff0c;则记录在未处理信号集中 非实时信号&#xff08;1~31&#xff09;&#xff0c;不排队&#xff0c;只留一个实时信号&#xff08;34~64&#xff09;&#xff0c;排队&#xff0c;保留全部 信号集…