본문 바로가기
빅데이터/spark

[spark] 스파크 2.0.2 버전 SQL에서 발생하는 MalformedURLException: unknown protocol: hdfs 오류 처리

by hs_seo 2019. 3. 22.

현재 사용하고 있는 스파크 2.0.2버전에서 SQL을 이용하여 하이브의 ADD JAR 명령을 실행하면 다음과 같은 오류가 발생합니다.


scala> sql("""ADD JAR 'hdfs:///user/a.jar'""")

scala> sql("""ADD FILE 'hdfs:///user/b.txt'""")


19/03/22 06:40:35 INFO SparkSqlParser: Parsing command: ADD JAR 'hdfs:///user/a.jar'
java.net.MalformedURLException: unknown protocol: hdfs
  at java.net.URL.<init>(URL.java:600)
  at java.net.URL.<init>(URL.java:490)
  at java.net.URL.<init>(URL.java:439)
  at java.net.URI.toURL(URI.java:1089)
  at org.apache.spark.sql.hive.client.HiveClientImpl.addJar(HiveClientImpl.scala:705)
  at org.apache.spark.sql.hive.HiveSessionState.addJar(HiveSessionState.scala:109)


그런데 ADD FILE 명령은 동작합니다. 둘다 같은 스키마인데 위치를 찾을 수 없다고 나와서 확인해보니 버그(SPARK-12868)입니다. 2.2.0 버전에서 수정되었다고 합니다.

이 문제를 해결하기 위해서 스파크 쉘을 실행할 때 --jars 옵션을 이용해서 라이브러리를 추가하여 해결하였습니다.


# jars 옵션 추가

spark-shell --jars a.jar,b.jar


반응형