nebula-importer:latest导入CSV数据异常

  • nebula 版本:v2.0.0-RC1
  • 部署方式(分布式 / 单机 / Docker / DBaaS):分布式
  • 硬件信息
    • 磁盘( 推荐使用 SSD)
    • CPU、内存信息
  • 问题的具体描述:
    集群部署nebula成功之后,使用nebula-importer:latest导入工具导入CSV文件报错
    导入命令:
    docker run --rm -ti -v $nebula_home/data/:$nebula_home/data/ vesoft/nebula-importer:latest --config $nebula_home/data/import.yaml
    import.yaml配置信息:
version: v1
description: space100
removeTempFiles: false
clientSettings:
  retry: 3
  concurrency: 20
  channelBufferSize: 1024
  space: Space100
  connection:
    user: root
    password: nebula
    address: localhost:9669
logPath: ./err/space100.log
files:
  - path: ./vertex.csv
    failDataPath: ./err/ve.csv
    batchSize: 1024
    inOrder: false
    type: csv
    csv:
      withHeader: false
      withLabel: false
      delimiter: ","
    schema:
      type: vertex
      vertex:
        vid:
          index: 0
          type: string
        tags:
          - name: ve
            props:
              - name: id
                index: 0
                type: string

  - path: ./edge.csv
    failDataPath: ./err/ed.csv
    batchSize: 1024
    inOrder: false
    type: csv
    csv:
      withHeader: false
      withLabel: false
      delimiter: "\t"
    schema:
      type: edge
      edge:
        name: ed
        withRanking: false
        srcVID:
          index: 0
        dstVID:
          index: 1

控制台打印日志:

检查一下 storaged 服务的状态正常吗?

检查过了,集群所有节点所有服务状态正常

可以把 importer dump 出来的出错的 INSERT 语句放在 console 中执行,看看是否有同样的错误?还有就是检查 space 创建的时候的 VID type 是什么,可以通过如下的语句来查看:

> SHOW CREATE SPACE xx;


按照官方文档的语法手动插入数据也是报相同的错误

你上面的例子是不对的,vid_type 是 string,插入的时候填的 1 是整型值,你可以试试把 importer 打印出来的语句在 console 中执行看看结果,如果出错,看看 graphd 和 storaged 的日志

insert vertex ve(id) values “1”:(1);
整型是后面的属性,前面的vid是string类型的

OK, My fault.

你看看 SHOW HOSTS 什么结果?如果方便的话,看看 storage 的日志。