티스토리 뷰
[spark] spark2와 hive2 메타스토어 연결 오류 수정. java.lang.NoSuchFieldError: HIVE_STATS_JDBC_TIMEOUT
hs_seo 2021. 6. 21. 20:20spark2.x 와 hive 2.x 버전의 메타스토어를 연결하면 오류가 발생합니다. 지라에는 스파크 2.2 버전에서는 해결이 됐다고 나오지만 저는 2.4.6 버전에서도 오류가 발생했습니다. 관련 지라는 다음과 같습니다.
https://issues.apache.org/jira/browse/SPARK-18112
[SPARK-18112] Spark2.x does not support read data from Hive 2.x metastore - ASF JIRA
Hive2.0 has been released in February 2016, after that Hive2.0.1 and Hive2.1.0 have also been released for a long time, but till now spark only support to read hive metastore data from Hive1.2.1 and older version, since Hive2.x has many bugs fixed and perf
issues.apache.org
에러 원인
에러의 내용은 다음과 같습니다. HIVE_STATS_JDBC_TIMEOUT 필드를 찾지 못한다고 나옵니다.
scala> spark.sql("show databases").show()
java.lang.NoSuchFieldError: HIVE_STATS_JDBC_TIMEOUT
at org.apache.spark.sql.hive.HiveUtils$.formatTimeVarsForHiveClient(HiveUtils.scala:204)
at org.apache.spark.sql.hive.HiveUtils$.newClientForMetadata(HiveUtils.scala:285)
hive-exec-1.2.1.jar 파일을 확인하면 해당 필드가 있지만, hive-exec-2.3.8.jar 에서는 해당 필드를 확인할 수 없었습니다.
해결 방법
이 문제를 해결하는 방법은 두 가지가 있습니다.
스파크를 신규로 빌드해서 해당 정보를 처리하지 않도록 수정하는 방법이 있고, 스파크2용으로 빌드된 hive 1.2.1 라이브러리를 추가하면 됩니다.
메이븐에서 해당 파일들을 찾아서, 스파크 라이브러리 위치에 다음 파일들을 추가합니다.
- hive-beeline-1.2.1.spark2.jar
- hive-cli-1.2.1.spark2.jar
- hive-exec-1.2.1.spark2.jar
- hive-jdbc-1.2.1.spark2.jar
- hive-metastore-1.2.1.spark2.jar
https://mvnrepository.com/artifact/org.spark-project.hive/hive-cli/1.2.1.spark2
'빅데이터 > spark' 카테고리의 다른 글
[spark] spark3와 hive3 메타스토어 연동 (0) | 2021.06.21 |
---|---|
[spark] spark2와 hive2 메타스토어 연동 (0) | 2021.06.21 |
[spark] spark에서 snappy 라이브러리를 찾지 못할때 수정 방법 : java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy (0) | 2021.03.18 |
[pyspark] pyspark 실행시 python: command not found 오류 (0) | 2021.03.18 |
[spark] __spark_libs__.zip does not exist 오류 해결 방법 (0) | 2020.09.14 |
- Total
- Today
- Yesterday
- 오류
- 하둡
- java
- HIVE
- SQL
- Tez
- S3
- yarn
- mysql
- error
- AWS
- 정올
- 다이나믹
- bash
- 백준
- ubuntu
- emr
- 하이브
- SPARK
- build
- Linux
- airflow
- oozie
- nodejs
- Hadoop
- Python
- HDFS
- 알고리즘
- hbase
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |