Nebula Exchange v2.0 release note

项目代码: https://github.com/vesoft-inc/nebula-spark-utils/tree/master/nebula-exchange

  1. 特性
  • 支持 String 类型的 VID 导入
  • 支持 null、Date、DateTime、Time 数据类型的导入
  • 支持 Hive on Spark 以外的 Hive 数据源的导入
  • 新增对导入失败的 INSERT 语句的记录和重试
  1. 编译
    Nebula Exchange 2.0 依赖最新的 Nebula Java Client 2.0,而非 nebula-client-2.0.0-beta.jar 。
  • 编译打包 Nebula Java Client 2.0

    $ git clone https://github.com/vesoft-inc/nebula-java.git
    $ cd nebula-java
    $ mvn clean install -Dmaven.test.skip=true -Dgpg.skip -Dmaven.javadoc.skip=true 
    

    打包结束后,在本地 Maven Repository 仓库中可以看到生成的 /com/vesoft/client/2.0.0-beta/client-2.0.0-beta.jar。

  • 编译打包 Nebula Exchange 2.0

    $ git clone https://github.com/vesoft-inc/nebula-spark-utils.git
    $ cd nebula-spark-utils/nebula-exchange
    $ mvn clean package -Dmaven.test.skip=true -Dgpg.skip -Dmaven.javadoc.skip=true
    

    编译打包完成后,可以在 nebula-spark-utils/nebula-exchange/target/ 目录下看到 nebula-exchange-2.0.0.jar 文件。

  1. 使用
    关于 Nebula Exchange 2.0 的详细使用说明,请参考 1.0 的使用文档《Nebula Exchange 用户手册》;
    关于外部 Hive 数据源的配置,请参考配置文件 server_application.conf 中Hive的配置。
6 个赞

:clap: :clap:

:clap: :clap: :clap:

:clap: :clap: :clap:

2.0 nebula-java下的这几个工程都迁移出去了?放到哪儿了?

其中 exchange和nebula-spark迁移到nebula-spark-utils这个repository中去了
见该帖子的第一行项目代码链接。

剩下的2个 还在1.0下 不动?

algorithm要使用2.0的Nebula 数据,直接在algorithm的pom中把使用的spark-connector版本升级就可以。
flink-connector 2.0要单独放在一个repository中的,不在nebula-java中。

3 个赞

咨询一下,我用1.1.0尝试导其他机器上部署的Hive上的数据,总是提示table不存在。

2.0的版本的通过"关于外部 Hive 数据源的配置"来调整的话,就可以支持了是吗?

不过Exchange 2.0只能用在Nebula 2.0,就是说Nebula 1.0的话,无法直接从其他机器的Hive上导入数据了是吗?

是的,Exchange1.0没有提供这个特性。
想要导入外部Hive数据源,可以参考下这个帖子 exchange 如何导入hive数据问题 - #3 by xrfinbj

这篇完善点

1 个赞

请问一下,Exchange 2.0的项目地址是变更了吗?帖子里的链接404了

分支有变化,链接更新了

2 个赞

请问一哈老哥,flink connector 2.0 O了吗,在哪块可以找到

已经欧了, reader可以看这个repo中的pull request, 还没合入

你好,我在打包algorithm 时使用2.0的spark-connector,但是发现algorithm/utils/NebulaUtil.scala这个类中使用的nebula-client是1.x的代码,切换到2.0时直接就报错了,请问这个怎么解决,需要自己重写这个吗?

NebulaUtil.scala中对参数做了下校验,所以会用到Nebula 1.x的client。 你可以去掉这个校验操作 或者 自己对输入参数做一下校验。

3Q