spark-shell을 실행할 때 다음과 같은 오류가 발생하는 경우가 있습니다.
24/02/22 13:09:59 INFO SparkEnv: Registering MapOutputTracker
24/02/22 13:09:59 INFO SparkEnv: Registering BlockManagerMaster
24/02/22 13:09:59 INFO BlockManagerMasterEndpoint: Using org.apache.spark.storage.DefaultTopologyMapper for getting topology information
24/02/22 13:09:59 INFO BlockManagerMasterEndpoint: BlockManagerMasterEndpoint up
java.lang.NoSuchFieldError: JAVA_9
at org.apache.spark.storage.StorageUtils$.<init>(StorageUtils.scala:207)
at org.apache.spark.storage.StorageUtils$.<clinit>(StorageUtils.scala)
at org.apache.spark.storage.BlockManagerMasterEndpoint.<init>(BlockManagerMasterEndpoint.scala:110)
at org.apache.spark.SparkEnv$.$anonfun$create$9(SparkEnv.scala:348)
at org.apache.spark.SparkEnv$.registerOrLookupEndpoint$1(SparkEnv.scala:287)
at org.apache.spark.SparkEnv$.create(SparkEnv.scala:336)
at org.apache.spark.SparkEnv$.createDriverEnv(SparkEnv.scala:191)
at org.apache.spark.SparkContext.createSparkEnv(SparkContext.scala:277)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:460)
at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2690)
at org.apache.spark.sql.SparkSession$Builder.$anonfun$getOrCreate$2(SparkSession.scala:949)
at scala.Option.getOrElse(Option.scala:189)
at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:943)
at org.apache.spark.repl.Main$.createSparkSession(Main.scala:106)
... 55 elided
<console>:14: error: not found: value spark
import spark.implicits._
^
<console>:14: error: not found: value spark
import spark.sql
^
^
이 문제는 commons-lang3 라이브러리의 라이브러리 버전이 낮아서 발생합니다.
spark 에서 제공하는 라이브러리는 3.12.0 버전이라서 오류가 발생할 수 없지만, hive 연동을 위해서 추가한 hive-exec.jar 파일에서 shade로 추가 되어 있는 commons-lang3 라이브러리의 버전이 낮아서 발생하였습니다.
이런 경우는 해당 라이브러리를 동일한 버전으로 다시 빌드하거나, shade 된 라이브러리의 class 파일을 삭제하여 오류를 해결할 수 있습니다.
반응형
'빅데이터 > spark' 카테고리의 다른 글
[jupyter] spark 2.4.6 에서 jupyter 노트북 연동 시 TypeError: an integer is required (got type bytes) 오류 처리 (0) | 2023.03.16 |
---|---|
[spark] pyspark 의 파이썬 패스 설정 (0) | 2022.03.07 |
[spark] java.lang.NoSuchMethodError: net.jpountz.lz4.LZ4BlockInputStream.<init>(Ljava/io/InputStream;Z)V 오류 수정 (0) | 2022.01.30 |
[spark] spark3와 hive3 메타스토어 연동 (0) | 2021.06.21 |
[spark] spark2와 hive2 메타스토어 연동 (0) | 2021.06.21 |