nebula exchange 2.5 导入MySQL数据到 nebula graph 2.5中报错

报错内容:


查阅论坛中的历史问题发现有相同的问题,原因是exchange中hive的metastore版本和 cdh中hive的metastore版本不一致导致的,有大佬知道怎么修改这个版本吗?
我cdh版本是 6.3.2,对应的spark版本是 2.4.0,hive版本是2.1.1,hadoop版本是3.0.0

不理解你的问题诶

  1. 3.0是谁的版本,无论是exchange还是nebula 都没有3.0版本
  2. 导入Mysql 为啥会涉及到hive?

exchange 版本是 2.5 ,查看源码,在导入Mysql数据时会将数据存在一个临时的表中,在执行创建表的代码时报的异常

你把错误日志贴多一写,createOrReplaceTempView的时候是用的sparksql,不依赖hive的。 除非你的spark集群绑定了hive环境,会将临时表写入到hive中。

暂时解绑hive 或者更新下Exchange中hive metastore的版本(不要直接在jars中修改metastore版本,要在工程中修改依赖版本)

感谢,问题已经解决了;升级了Exchange 中hive metastore 的版本,修改 pom.xml 文件内容如下:
<spark.version>2.4.0-cdh6.3.2</spark.version>
<hadoop.version>3.0.0-cdh6.3.2</hadoop.version>
增加的内容如下:repositories 标签下面

cloudera
Repository - Sonatype Nexus Repository

1 个赞

或者可以试一下打包nebula的时候把spark相关的scope改成provided,由平台提供实际类。很多企事业单位底层用的cdh tdh 之类的商业hadoop版本,里面各组件版本都说不准。

2 个赞