Nebula Exchange 2.0 导入 Hive 表的字段与 vertex 的对应关系

环境信息

  • nebula 版本:2.0.0-rc1
  • 部署方式(分布式 / 单机 / Docker / DBaaS):物理集群

问题的具体描述:
假设 Hive 表 tableA 有 2 个字段,对应创建的 tagA 有 2 个属性;

利用 Exchange 导入表 tableA 时,指定了 2 个字段,对应 tagA 的 2 个属性,但是 vertex 对应的 vid 是根据两个字段生成的,如下:

# Processing tags
  tags: [

    {
      name: tagA
      type: {
        source: hive
        sink: client
      }
      exec: "select CONCAT_WS('.', field1, field2) as vid, field1, field2 from tableA"
      fields: [field1, field2]
      nebula.fields: [prop1, prop2]
      vertex: vid
      batch: 1024
      partition: 32
      isImplicit: true
    }
  ]

结果:Exchange 无法正确从表 tableA 中获取数据导入至 tagA


若 vid 字段放在 fields 中,nebula fields 没有字段与其对应则报错 key not found

# Processing tags
  tags: [

    {
      name: tagA
      type: {
        source: hive
        sink: client
      }
      exec: "select CONCAT_WS('.', field1, field2) as vid, field1, field2 from tableA"
      fields: [field1, field2, vid]
      nebula.fields: [prop1, prop2]
      vertex: vid
      batch: 1024
      partition: 32
      isImplicit: true
    }
  ]

这两个配置是严格个数和顺序对应的,fields中有三个字段,nebula.fields有两个字段。

你第一次配置的vertex、fileds和nebula.fields是正确的,我用你的hive sql是可以把数据导进去的。你是数据导入过程有异常么,麻烦贴一下对应的日志吧。