2

目前,我在 spark 2.1 中遇到了一些关于 shapeless 的问题,其中仍在使用过时的 shapeless 版本。我的一个依赖项(PureConfig 当前版本 0.8.0)引入了更新版本的 shapeless。

一个应该能够使用:

assemblyShadeRules in assembly := Seq(
  ShadeRule.rename("shapeless.**" -> "new_shapeless.@1").inAll
)

解决method not found问题 - 但这无济于事。

assemblyShadeRules in assembly := Seq(
  ShadeRule.rename("shapeless.**" -> "shadeshapless.@1")
    .inLibrary("com.chuusai" % "shapeless_2.11" % "2.3.2")
    .inLibrary("com.github.pureconfig" %% "pureconfig" % "0.8.0")
    .inProject
)

建议从Spark 不使用 pureconfig(在我看来不应该比该inAll选项更好)但也会失败(出现不同的错误,因为这正在破坏库(pureconfig)。

有什么建议可以解决无形问题吗?

编辑

目前,着色配置如下所示:

assemblyShadeRules in assembly := Seq(
  ShadeRule.rename("shapeless.**" -> "shadeshapless.@1")
    .inLibrary("com.chuusai" % "shapeless_2.11" % "2.3.2")
    .inLibrary("com.github.pureconfig" % "pureconfig_2.11" % pureconfigVersion)
    .inLibrary("com.github.pureconfig" % "pureconfig-macros_2.11" % pureconfigVersion)
    .inProject
)
4

1 回答 1

1

不是真正的答案,但从 spark 2.2 开始,随着 sparks 依赖项的升级,它可以正常工作。

于 2019-03-18T20:47:36.220 回答