- nebula 版本:3.0.0
- 部署方式:分布式
- 安装方式:docker-compose
- 是否为线上版本:N
- 问题的具体描述
nebula-importer导入csv 日志打印的信息 和入库的对不上
- 相关的 meta / storage / graph info 日志信息(尽量使用文本形式方便检索)
导入执行日志:
2022/03/10 13:38:18 [INFO] clientmgr.go:28: Create 10 Nebula Graph clients
2022/03/10 13:38:18 [INFO] reader.go:64: Start to read file(1): /home/yanfayibu/importer_data/RR_OPT_SECT.csv, schema: < RR_OPT_SECT.OPT_SECT_ID:string,RR_OPT_SECT.OPT_SECT_NAME:string,RR_OPT_SECT.BEGIN_TYPE_ID:int,:SRC_VID(string),RR_OPT_SECT.END_TYPE_ID:int,:DST_VID(string) >
2022/03/10 13:38:18 [INFO] reader.go:26: The delimiter of /home/yanfayibu/importer_data/RR_INPUT_BEGIN.csv is U+002C ','
2022/03/10 13:38:18 [INFO] reader.go:64: Start to read file(0): /home/yanfayibu/importer_data/RR_INPUT_BEGIN.csv, schema: < RR_INPUT_BEGIN.RES_TYPE_ID:int,RR_INPUT_BEGIN.RES_TYPE:string,:VID(string),RR_INPUT_BEGIN.RES_NAME:string >
2022/03/10 13:38:18 [INFO] reader.go:180: Total lines of file(/home/yanfayibu/importer_data/RR_INPUT_BEGIN.csv) is: 1278, error lines: 0
2022/03/10 13:38:18 [INFO] statsmgr.go:62: Done(/home/yanfayibu/importer_data/RR_INPUT_BEGIN.csv): Time(15.14s), Finished(2137), Failed(0), Read Failed(0), Latency AVG(1681us), Batches Req AVG(2108us), Rows AVG(141.17/s)
2022/03/10 13:38:20 [INFO] reader.go:180: Total lines of file(/home/yanfayibu/importer_data/RR_OPT_SECT.csv) is: 115916, error lines: 0
2022/03/10 13:38:20 [INFO] statsmgr.go:62: Done(/home/yanfayibu/importer_data/RR_OPT_SECT.csv): Time(16.69s), Finished(117192), Failed(0), Read Failed(0), Latency AVG(1027us), Batches Req AVG(1331us), Rows AVG(7019.91/s)
show stats:查询结果
+---------+------------------+--------+
| Type | Name | Count |
+---------+------------------+--------+
| "Tag" | "RR_INPUT_BEGIN" | 1274 |
| "Edge" | "RR_OPT_SECT" | 115126 |
| "Space" | "vertices" | 1274 |
| "Space" | "edges" | 115126 |
+---------+------------------+--------+
配置信息
version: v3
description: rr
# 是否删除临时生成的日志和错误数据文件。
removeTempFiles: false
clientSettings:
# nGQL 语句执行失败的重试次数。
retry: 3
# Nebula Graph 客户端并发数。
concurrency: 10
# 每个 Nebula Graph 客户端的缓存队列大小。
channelBufferSize: 128
# 指定数据要导入的 Nebula Graph 图空间。
space: rr
# 连接信息。
connection:
user: root
password: nebula
address: 192.168.50.67:9669
postStart:
# 配置连接 Nebula Graph 服务器之后,在插入数据之前执行的一些操作。
commands: |
DROP SPACE IF EXISTS rr;
CREATE SPACE IF NOT EXISTS rr(partition_num=5, replica_factor=1, vid_type=FIXED_STRING(64));
USE rr;
DROP TAG IF EXISTS RR_INPUT_BEGIN;
CREATE TAG RR_INPUT_BEGIN(RES_TYPE_ID int, RES_TYPE string,RES_NAME string);
DROP EDGE IF EXISTS RR_OPT_SECT;
CREATE EDGE RR_OPT_SECT(OPT_SECT_ID string, OPT_SECT_NAME string,BEGIN_TYPE_ID int,END_TYPE_ID int);
# 执行上述命令后到执行插入数据命令之间的间隔。
afterPeriod: 15s
preStop:
# 配置断开 Nebula Graph 服务器连接之前执行的一些操作。
commands: |
# 错误等日志信息输出的文件路径。
logPath: ./err/test.log
# CSV 文件相关设置。
files:
# 数据文件的存放路径,如果使用相对路径,则会将路径和当前配置文件的目录拼接。本示例第一个数据文件为点的数据。
- path: ./RR_INPUT_BEGIN.csv
# 插入失败的数据文件存放路径,以便后面补写数据。
failDataPath: ./err/RR_INPUT_BEGIN_ERR.csv
# 单批次插入数据的语句数量。
batchSize: 10
# 读取数据的行数限制。
limit: 1278
# 是否按顺序在文件中插入数据行。如果为 false,可以避免数据倾斜导致的导入速率降低。
inOrder: true
# 文件类型,当前仅支持 csv。
type: csv
csv:
# 是否有表头。
withHeader: true
# 是否有 LABEL。
withLabel: false
# 指定 csv 文件的分隔符。只支持一个字符的字符串分隔符。
delimiter: ","
schema:
# Schema 的类型,可选值为 vertex 和 edge。
type: vertex
# 本示例第二个数据文件为边的数据。
- path: ./RR_OPT_SECT.csv
failDataPath: ./err/RR_OPT_SECT_ERR.csv
batchSize: 10
limit: 117000
inOrder: true
type: csv
csv:
withHeader: true
withLabel: false
schema:
# Schema 的类型为 edge。
type: edge
edge:
# Edge type 名称。
name: RR_OPT_SECT
# 是否包含 rank。
withRanking: false
两个csv的header
RR_OPT_SECT.OPT_SECT_ID:string,RR_OPT_SECT.OPT_SECT_NAME:string,RR_OPT_SECT.BEGIN_TYPE_ID:int,:SRC_VID(string),RR_OPT_SECT.END_TYPE_ID:int,:DST_VID(string)
RR_INPUT_BEGIN.RES_TYPE_ID:int,RR_INPUT_BEGIN.RES_TYPE:string,:VID(string),RR_INPUT_BEGIN.RES_NAME:string