装载数据异常

nebula 3.6.0
nebula-importer_4.1.0

配置文件

client:
  version: v3
  address: "10.13.100.246:9669"
  user: root
  password: nebula
  ssl:
    enable: false
    certPath: "/home/xxx/cert/importer.crt"
    keyPath: "/home/xxx/cert/importer.key"
    caPath: "/home/xxx/cert/root.crt"
    insecureSkipVerify: false
  concurrencyPerAddress: 10
  reconnectInitialInterval: 1s
  retry: 3
  retryInitialInterval: 1s
manager:
  spaceName: twitter2010
  batch: 1024
  readerConcurrency: 50
  importerConcurrency: 50
  statsInterval: 10s
  hooks:
    before:
      - statements:
        - |
            DROP SPACE IF EXISTS twitter2010;
            CREATE SPACE IF NOT EXISTS twitter2010(partition_num=5, replica_factor=1, vid_type=FIXED_STRING(16));
            USE twitter2010;
            CREATE TAG Person();
            CREATE EDGE Knows();
        wait: 10s
    after:
      - statements:
          - |
            SHOW SPACES;
log:
  level: INFO
  console: true
  files:
    - /ssd/tanwei/logs/nebula-importer.log   
sources:
  - path: /ssd/tanwei/twitter/twitter-v.csv
    batch: 1024
    csv:
      delimiter: ","
      withHeader: false
      lazyQuotes: false
    tags:
    - name: Person
      mode: INSERT
      id:
        type: "STRING"
        index: 0
  - path: /ssd/tanwei/twitter/twitter-e.csv
    batch: 1024
    csv:
      delimiter: ","
      withHeader: true
      lazyQuotes: false
    edges:
    - name: Knows
      mode: INSERT
      src:
        id:
          type: "STRING"
          index: 0
      dst:
        id:
          type: "STRING"
          index: 1

提示读取文件失败,是为什么

你配置文件里不是没有 twitter_r 的配置么,报错信息里不是说 twitter_r 文件某个地方有问题么?

还有,你把 batch 调小点,官方给的默认是 128,你改成 128 吧。

我后面改了文件名字,以为是文件名不支持下划线


它不应该先装点吗 ,为啥直接读取边文件失败

直接读取数据失败说明你的源数据和你定义的 schema 不匹配,你检查下你边的数据里的数值类型是不是和你 schema 定义的一样。

我定义的 schema 在上面 ,我没看出来什么不对的

终于找到原因了 是数据文件的表头 我在yaml配置了忽略首行 但是没生效

1 个赞

可以勾选自己的回复为解决方案呀

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。