Я использую Йену в Spark.Я сталкиваюсь со странной проблемой при развертывании в кластере (не происходит в локальном Dev, для которого мне не нужно создавать Uber JAR)
При развертывании в кластере я получаю следующие исключения:
Caused by: org.apache.jena.shared.NoReaderForLangException: Reader not found: JSON-LD
at org.apache.jena.rdf.model.impl.RDFReaderFImpl.getReader(RDFReaderFImpl.java:61)
at org.apache.jena.rdf.model.impl.ModelCom.read(ModelCom.java:305)
1 - Интересно, вообще говоря, откуда может возникнуть ошибка, например org.apache.jena.shared.NoReaderForLangException: Reader not found: JSON-LD
?Опять же, этот код прекрасно работает в локальном режиме.
2 - Стратегия сборки My Build.sbt:
lazy val entellectextractorsmappers = project
.settings(
commonSettings,
mainClass in assembly := Some("entellect.extractors.mappers.NormalizedDataMapper"),
assemblyMergeStrategy in assembly := {
case "application.conf" => MergeStrategy.concat
case "reference.conf" => MergeStrategy.concat
case PathList("META-INF", "services", "org.apache.jena.system.JenaSubsystemLifecycle") => MergeStrategy.concat
case PathList("META-INF", "services", "org.apache.spark.sql.sources.DataSourceRegister") => MergeStrategy.concat
case PathList("META-INF", xs @ _*) => MergeStrategy.discard
case x => MergeStrategy.first},
dependencyOverrides += "com.fasterxml.jackson.core" % "jackson-core" % "2.9.5",
dependencyOverrides += "com.fasterxml.jackson.core" % "jackson-databind" % "2.9.5",
dependencyOverrides += "com.fasterxml.jackson.module" % "jackson-module-scala_2.11" % "2.9.5",
dependencyOverrides += "org.apache.jena" % "apache-jena" % "3.8.0",
libraryDependencies ++= Seq(
"org.apache.jena" % "apache-jena" % "3.8.0",
"edu.isi" % "karma-offline" % "0.0.1-SNAPSHOT",
"org.apache.spark" % "spark-core_2.11" % "2.3.1" % "provided",
"org.apache.spark" % "spark-sql_2.11" % "2.3.1" % "provided",
"org.apache.spark" %% "spark-sql-kafka-0-10" % "2.3.1"
//"com.datastax.cassandra" % "cassandra-driver-core" % "3.5.1"
))
.dependsOn(entellectextractorscommon)
Если у кого-нибудь есть подсказка об использовании Jena и Spark,Круто, еще какие-то подсказки о том, что может привести к тому, что Reader не будет найден: JSON-LD, например, когда это может произойти или что это означает с точки зрения библиотеки.Таким образом, я могу проследить, что в моей упаковке вызывает это.