- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 pureConfig 和 configFactory 进行我的 Spark 应用程序配置。这是我的代码:
import pureconfig.{loadConfigOrThrow}
object Source{
def apply(keyName: String, configArguments: Config): Source = {
keyName.toLowerCase match {
case "mysql" =>
val properties = loadConfigOrThrow[DBConnectionProperties](configArguments)
new MysqlSource(None, properties)
case "files" =>
val properties = loadConfigOrThrow[FilesSourceProperties](configArguments)
new Files(properties)
case _ => throw new NoSuchElementException(s"Unknown Source ${keyName.toLowerCase}")
}
}
}
import Source
val config = ConfigFactory.parseString(result.mkString("\n"))
val source = Source("mysql",config.getConfig("source.mysql"))
当我从 IDE (intelliJ) 或直接从 java 运行它时(即 java jar...)它工作正常。
但是当我使用 Spark-submit 运行它时,它失败并出现以下错误:
Exception in thread "main" java.lang.NoSuchMethodError: shapeless.Witness$.mkWitness(Ljava/lang/Object;)Lshapeless/Witness;
通过快速搜索,我发现了与此类似的question 。这表明这样做的原因是由于 Spark 和 pureConfig 都依赖于 Shapeless 但版本不同,
我尝试shade it正如答案中所建议的
assemblyShadeRules in assembly := Seq(
ShadeRule.rename("shapeless.**" -> "shadeshapless.@1")
.inLibrary("com.github.pureconfig" %% "pureconfig" % "0.7.0").inProject
)
但是效果不太好难道是别的原因?知道什么可行吗?
谢谢
最佳答案
除了 pureconfig 之外,您还必须在自己的 JAR 中使用 shapeless:
assemblyShadeRules in assembly := Seq(
ShadeRule.rename("shapeless.**" -> "shadeshapless.@1")
.inLibrary("com.chuusai" % "shapeless_2.11" % "2.3.2")
.inLibrary("com.github.pureconfig" %% "pureconfig" % "0.7.0")
.inProject
)
确保添加正确的无形状版本。
关于scala - Spark 无法与 pureconfig 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43611147/
0.10.*pureconfig 的最新更新系列默认禁用自动配置。 import pureconfig.generic.auto._ 需要手动导入。 但是我有一个类层次结构,我不想每次都为子类导入它。
是否可以使 pureconfig 读取属性为 Map[String, String]?我有以下内容 application.conf: cfg{ some.property.name: "valu
我在 scala 中寻找一些适合 akka 的实用程序,可以映射 HOCON到 Scala 类/对象。 (类似于 Spring 中的 @Configuration 将 .yml 或 .properti
我的资源中有一个简单的 config.json 文件: { "configs": [ { "someConfig": { "name": "my_name",
我有这样的 HOCON 配置: [ { name = 1 url = "http://example.com" }, { nam
我正在尝试使用 pureConfig 和 configFactory 进行我的 Spark 应用程序配置。这是我的代码: import pureconfig.{loadConfigOrThrow} o
我有以下配置文件: connection.port = 8080 connection.interface = "127.0.0.1" 我在阅读此文件时尝试使用精炼和精炼的纯配置。我有以下类(clas
我正在尝试从配置文件加载 Map[String, Any]。目前是这样写的 map-name { stringValue = "firstValue" intValue = 1 bo
我是一名优秀的程序员,十分优秀!