v2-ga vid类型

  • nebula 版本:v2-nigtly(ga)
  • 部署方式(分布式 / 单机 / Docker / DBaaS):docker swarm

官方关于v2所支持的vid类型的描述令我感到困惑。

在exchange的官方配置文件例子中:
“# For now, only string type VIDs are supported in Nebula Graph v2.x”

而在官方关于2.0底层存储的博客中描述到:
“VertexID 的长度如前文所说,从固定的 8 字节,修改为 n 个字节。VertexID 类型为整型时,n 为 8,VertexID 类型为 string 类型时,n 为指定长度。”

请问是exchange仅支持插入string 类型vid,而终端/client支持插入int和string类型vid?
还是说ga版的所有工具已经兼容string和int两种类型的vid,并且取消了hash()和uuid()?

exchange 的生成 sst 功能是只支持string,其他工具应该是要支持string和int的。假如还没支持,我们会不断完善的。感谢你的反馈。

你那边看到的应该是rc版本对应的exchange代码
目前exchange是支持 String类型的VID和Integer类型的VID的;
与NebulaGraph同步,导入时支持hash(),不支持uuid()。

1. Nebula Graph 2.0 暂时只支持 String 类型的 VID,请勿配置点 ID 或者边的 src_id、dst_id 的 policy。

由于这个是在exchange的readme看到的,所以不确定到底是nebula graph只支持string还是exchange只支持string。如果当前exchange已经支持string和int了的话,最好能把readme里的说明更正一下,之后再统一官网文档里的说明。

p.s我上周编译的nebula-spark-utils已经是对应ga版的了吗?

应该是没有更新README,我们尽快更新下 @nicole

p.s我上周编译的nebula-spark-utils已经是对应ga版的了吗?

你还是更新下最新的版本,今天刚发布了 v2.0.0,有些bug fix的。

感谢提出,readme中的说明是rc的,已经更新了,可以看下最新README。

刚刚下载22 hours ago的版本,编译出现以下问题:

[INFO] Compiling 24 source files to /Users/jiayizhou/Desktop/nebula-spark-utils-master/nebula-exchange/target/classes at 1616572126705
[ERROR] /Users/jiayizhou/Desktop/nebula-spark-utils-master/nebula-exchange/src/main/scala/com/vesoft/nebula/exchange/processor/EdgeProcessor.scala:163: error: not enough arguments for constructor NebulaCodecImpl: (x$1: com.vesoft.nebula.client.meta.MetaCache)com.vesoft.nebula.encoder.NebulaCodecImpl.
[INFO] Unspecified value parameter x$1.
[INFO]             val codec       = new NebulaCodecImpl()
[INFO]                               ^
[ERROR] /Users/jiayizhou/Desktop/nebula-spark-utils-master/nebula-exchange/src/main/scala/com/vesoft/nebula/exchange/processor/VerticesProcessor.scala:150: error: not enough arguments for constructor NebulaCodecImpl: (x$1: com.vesoft.nebula.client.meta.MetaCache)com.vesoft.nebula.encoder.NebulaCodecImpl.
[INFO] Unspecified value parameter x$1.
[INFO]             val codec = new NebulaCodecImpl()
[INFO]                         ^
[ERROR] /Users/jiayizhou/Desktop/nebula-spark-utils-master/nebula-exchange/src/main/scala/com/vesoft/nebula/exchange/writer/ServerBaseWriter.scala:12: error: object RateLimiter is not a member of package com.google.common.util.concurrent
[INFO] import com.google.common.util.concurrent.{FutureCallback, RateLimiter}
[INFO]        ^
[ERROR] /Users/jiayizhou/Desktop/nebula-spark-utils-master/nebula-exchange/src/main/scala/com/vesoft/nebula/exchange/writer/ServerBaseWriter.scala:138: error: not found: value RateLimiter
[INFO]   val rateLimiter = RateLimiter.create(rateConfig.limit)
[INFO]                     ^
[ERROR] four errors found
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] nebula-spark 2.0.0 ................................. SUCCESS [  0.081 s]
[INFO] nebula-exchange .................................... FAILURE [  7.586 s]
[INFO] nebula-spark-connector ............................. SKIPPED
[INFO] example 2.0.0 ...................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.751 s
[INFO] Finished at: 2021-03-24T15:48:50+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.scala-tools:maven-scala-plugin:2.15.2:compile (scala-compile) on project nebula-exchange: wrap: org.apache.commons.exec.ExecuteException: Process exited with an error: 1(Exit value: 1) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :nebula-exchange

假如你是clone master的代码进行编译的,需要更新下 nebula-java 的snapshot版本,假如你用2.0.0的分支就不需要。