exchange_spark_2.4-3.0.0导入hive上的数据报错

exchange导入hive上的数据报错继续讨论:

提问参考模版:

  • nebula 版本:3.2.0

  • 部署方式:分布式

  • 安装方式:RPM

  • 是否为线上版本:N

  • 硬件信息

    • 磁盘: 100G
    • CPU、内存信息: 4C8G
  • 其他组件

    • hadoop 3.1.1
    • spark 2.4.3
    • hive 3.1.0
    • scala 2.11.12
    • exchange nebula-exchange_spark_2.4-3.0.0.jar
  • 使用exchange导入hive数据时(spark-submit --master “local[*]” --class com.vesoft.nebula.exchange.Exchange <nebula-exchange-3.0.0.jar_path> -c <hive_application.conf_path> -h)
    NoSuchMethodError: com.google.common.net.HostAndPort.getHostText()

  • 当我将 guava-14.0.jar 放入spark/jars下后
    NoSuchMethodError: com.google.common.base.Preconditions.checkArgument()

站内搜索 NoSuchMethodError 会有一些答案

比如 Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.net.HostAndPort.getHostText()Ljava/lang/String;

是guava 包冲突造成的哈

嗯, 当我将guava-28.0-jre.jar替换为guava-14.0.jar后, 发现spark集群提交任务失败.
exchange和spark集群的guava版本互斥了.
可以通过这种方式解决 Nebula Exchange与集群guava版本不一致问题 - 十点 - 博客园

另外遇到java.lang.NoClassDefFoundError: org/apache/commons/pool2/PooledObjectFactory
$SPARK_HOME/jars下面添加 commons-pool2-2.4.2.jar commons-dbcp2-2.1.1.jar

1 个赞

Cool 感谢分享 PooledObjectFactory 冲突的方法:+1:t2:

浙ICP备20010487号