知识图谱:【图数据库Nebula(五)】——Nebula Importer导入数据
2021/10/25 2:13:16
本文主要是介绍知识图谱:【图数据库Nebula(五)】——Nebula Importer导入数据,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- Step 1. 启动Nebula容器
- Step 2. 连接 Nebula Graph 服务器
- Step 3. 通过nebula命令行创建图的Schema
- Step 4. 获取数据集
- Step 5. 将测试数据集移动到import目录下并删除表头
- Step 6. 执行如下命令,等待导入完成
Step 1. 启动Nebula容器
docker run --rm -ti --network nebula-docker-compose_nebula-net --entrypoint=/bin/sh vesoft/nebula-console:v2.5.0
Step 2. 连接 Nebula Graph 服务器
nebula-console -u root -p 123456 --address=graphd --port=9669
Step 3. 通过nebula命令行创建图的Schema
DROP SPACE Graph500 CREATE SPACE Graph500(vid_type = FIXED_STRING(128)) USE Graph500 CREATE TAG ve(id int) CREATE EDGE ed()
Step 4. 获取数据集
wget https://www.galaxybase.com/public/download/graph500.zip && unzip graph500.zip
Step 5. 将测试数据集移动到import目录下并删除表头
sed -i '1d' vertex.csv edge.csv
Step 6. 执行如下命令,等待导入完成
docker run --rm -ti -v /data/nlp/jx/nebula-docker-compose/import/graph500/graph500.yaml:/import/graph500/graph500.yaml -v /data/nlp/jx/nebula-docker-compose/import/graph500:/import/graph500/ vesoft/nebula-importer:v2 --config /import/graph500/graph500.yaml
=============================graph500.yaml===================================== version: v2 description: g500d removeTempFiles: false clientSettings: retry: 3 concurrency: 20 channelBufferSize: 128 space: Graph500 connection: user: root password: 123456 address: 10.6.16.96:9669 postStart: commands: | DROP SPACE IF EXISTS Graph500; CREATE SPACE IF NOT EXISTS Graph500(vid_type = FIXED_STRING(128)); USE Graph500; CREATE TAG ve(id int); CREATE EDGE ed(); afterPeriod: 5s preStop: commands: | logPath: ./err/g500d.log files: - path: vertex.csv failDataPath: ./err/ve.csv batchSize: 2048 inOrder: false type: csv csv: withHeader: false withLabel: false delimiter: "\t" schema: type: vertex vertex: vid: index: 0 tags: - name: ve props: - name: id type: int index: 0 - path: edge.csv failDataPath: ./err/ed.csv batchSize: 2048 inOrder: false type: csv csv: withHeader: false withLabel: false delimiter: "\t" schema: type: edge edge: name: ed srcVID: index: 0 dstVID: index: 1 ===============================================================================
==============================example.yaml============================== # 连接的Nebula Graph版本,连接2.x时设置为v2 version: v2 description: example # 是否删除临时生成的日志和错误数据文件。 removeTempFiles:false clientSettings: # nGQL语句执行失败的重试次数。 retry:3 # Nebula Graph客户端并发数。 concurrency:10 # 每个Nebula Graph客户端的缓存队列大小。 channelBufferSize:128 # 指定数据要导入的Nebula Graph图空间。 space: student # 连接信息。 connection: user: root password: nebula address:192.168.11.13:9669 postStart: # 配置连接Nebula Graph服务器之后,在插入数据之前执行的一些操作。 commands:| DROP SPACE IF EXISTS student; CREATE SPACE IF NOT EXISTS student(partition_num=5, replica_factor=1, vid_type=FIXED_STRING(20)); USE student; CREATE TAG student(name string, age int,gender string); CREATE EDGE follow(degree int); # 执行上述命令后到执行插入数据命令之间的间隔。 afterPeriod:15s preStop: # 配置断开Nebula Graph服务器连接之前执行的一些操作。 commands:| # 错误等日志信息输出的文件路径。 logPath:./err/test.log # CSV文件相关设置。 files: # 数据文件的存放路径,如果使用相对路径,则会将路径和当前配置文件的目录拼接。本示例第一个数据文件为点的数据。 - path:./student_without_header.csv # 插入失败的数据文件存放路径,以便后面补写数据。 failDataPath:./err/studenterr.csv # 单批次插入数据的语句数量。 batchSize:10 # 读取数据的行数限制。 limit:10 # 是否按顺序在文件中插入数据行。如果为false,可以避免数据倾斜导致的导入速率降低。 inOrder:true # 文件类型,当前仅支持csv。 type: csv csv: # 是否有表头。 withHeader:false # 是否有LABEL。 withLabel:false # 指定csv文件的分隔符。只支持一个字符的字符串分隔符。 delimiter:"," schema: # Schema的类型,可选值为vertex和edge。 type: vertex vertex: # 点ID设置。 vid: # 点ID对应CSV文件中列的序号。CSV文件中列的序号从0开始。 index:0 # 点ID的数据类型,可选值为int和string,分别对应Nebula Graph中的INT64和FIXED_STRING type:string # Tag设置。 tags: # Tag名称。 - name: student # Tag内的属性设置。 props: # 属性名称。 - name: name # 属性数据类型。 type:string # 属性对应CSV文件中列的序号。 index:1 - name: age type:int index:2 - name: gender type:string index:3 # 本示例第二个数据文件为边的数据。 - path:./follow_without_header.csv failDataPath:./err/followerr.csv batchSize:10 limit:10 inOrder:true type: csv csv: withHeader:false withLabel:false schema: # Schema的类型为edge。 type: edge edge: # Edge type名称。 name: follow # 是否包含rank。 withRanking:true # 起始点ID设置。 srcVID: # 数据类型。 type:string # 起始点ID对应CSV文件中列的序号。 index:0 # 目的点ID设置。 dstVID: type:string index:1 # rank设置。 rank: # rank值对应CSV文件中列的序号。如果没有设置index,请务必在第三列设置rank的值。之后的列依次设置各属性。 index:2 # Edge type内的属性设置。 props: # 属性名称。 - name: degree # 属性数据类型。 type:double # 属性对应CSV文件中列的序号。 index:3 ===============================================================================
这篇关于知识图谱:【图数据库Nebula(五)】——Nebula Importer导入数据的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南