无法在spark中读取parquet文件:java.lang.NoSuchMethodError:org.json4s.jackson.JsonMethods。

问题描述 投票:0回答:1

我试图读取snappy压缩的parquet文件,但一直得到以下异常。我无法找到这个异常的根本原因,谁能指导我?

   val sparkSession: SparkSession = SparkSession.builder()
  .master("local[2]")
  .config("spark.ui.enabled",false)
  .appName("local-intellij")
  .getOrCreate()
val df = sparkSession.read.parquet("C:\\data\\parquet\\part-00000-4ce5708f-2f50-485d-8ae4-7c5ea440fda6.c000.snappy.parquet")

我的依赖项是......java.lang.NoSuchMethod。

lazy val json4sVersion = "3.5.0"
lazy val json4sDeps = Seq(
"org.json4s" %% "json4s-core" % json4sVersion,
"org.json4s" %% "json4s-native" % json4sVersion,
"org.json4s" %% "json4s-ast" % json4sVersion,
"org.json4s" %% "json4s-jackson" % json4sVersion)
lazy val sparkVersionCore = "2.3.0.cloudera2"
lazy val sparkDeps = Seq(
"org.apache.spark" %% "spark-hive" % sparkVersionCore,
"org.apache.spark" %% "spark-core" % sparkVersionCore)

java.lang.NoSuchMethodError: org.json4s.jackson.JsonMethods$.parse(Lorgjson4sJsonInput;Z)Lorgjson4sJsonAST$JValue; at org.apache.spark.sql.types.DataType$.fromJson(DataType.scala:113) at org.apache.spark.sql.execution.datasources.parquet. ParquetFileFormat$$anonfun$org$apache$spark$sql$execution$datasources$parquet$ParquetFileFormat$$deserializeSchemaString$3.apply(ParquetFileFormat.scala:650)处。 apache.spark.sql.execution.datasources$parquet$ParquetFileFormat$$deserializeSchemaString$3.apply(ParquetFileFormat.scala:650)。 apply(ParquetFileFormat.scala:650) at scala.util.Try$.apply(Try.scala:192) at org.apache.spark.sql.execution.datasources.parquet.ParquetFileFormat$$deserializeSchemaString$3. 在org.apache.spark.sql.execution.datasources.parquet.ParquetFileFormat$anonfun$readSchemaFromFooter$1.apply(ParquetFileFormat.scala:643)。

scala maven apache-spark sbt parquet
1个回答
2
投票

清除jar版本不匹配的 火花2.3.0版本.

AFAIK你必须使用org.json4s json4s-jackson_2.11 3.2.11。

// https://mvnrepository.com/artifact/org.json4s/json4s-jackson
libraryDependencies += "org.json4s" %% "json4s-jackson" % "3.2.11"

AFAIK这个条目是不需要的,我想一旦你在sbt中提到spark版本,就会自动下载。试着删除该条目,看看......如果它不工作,添加上述条目。

© www.soinside.com 2019 - 2024. All rights reserved.