Spark 2.2使用的是旧的com.google.guava库版本:14,但我需要在SBT项目中使用guava版本18及更高版本

时间:2019-01-22 17:58:16

标签: apache-spark sbt guava

代码:var queryJob:Job = bigquery.create(JobInfo.newBuilder(queryConfig).setJobId(jobId).build())

错误: 造成原因:java.lang.NoSuchMethodError:com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava / util / concurrent / Executor;

1 个答案:

答案 0 :(得分:1)

错误:由以下原因引起:java.lang.NoSuchMethodError:com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava / util / concurrent / Executor

用于SBT解决方案

FIX :     //着色com.google。**     //我们需要com.google.guava版本在18以上,但是spark使用版本14,因为我们没有directExecutor()方法     //由于spark优先使用spark使用的库,因此我们的代码失败了

assemblyShadeRules in assembly := Seq(
    ShadeRule.rename("com.google.**" -> "shadeio.@1").inAll
)