티스토리 뷰
스파크3와 하이브3 메타스토어를 연동하는 방법은 다음과 같습니다.
- 스파크-하이브 라이브러리 추가
- spark-hive_2.12-3.1.2.jar를 다운로드하고 ${SPARK_HOME}/jars 에 추가
- jline 2.14.6 라이브러리 추가
- 기존 라이브러리 버전이 낮아서 다음 오류가 발생
- 스파크3 버전에 따라 오류가 발생하지 않으면 추가 하지 않아도 됨
- ${SPARK_HOME}/conf 에 hive-site.xml 에 hive 라이브러리 추가
- export SPARK_DIST_CLASSPATH=$(hadoop classpath):/opt/hive/lib/*
- ${SPARK_HOME}/conf 에 hive-site.xml 추가
- hive-site.xml 파일을 추가하고, hive.metastore.uris 설정을 추가 합니다.
<configuration>
<property>
<name>hive.metastore.uris</name>
<value>thrift://localhost:9083</value>
</property>
</configuration>
모든 설정이 완료된 후 spark-shell을 실행해서, spark.conf.get("spark.sql.catalogImplementation") 명령을 입력했을 때 hive가 나오면 메타스토어와 정상적으로 연결된 상태입니다. in-memory가 나오면 연결이 안된 상태입니다.
scala> spark.conf.get("spark.sql.catalogImplementation")
res0: String = hive
Jline 오류
jline 버전에 따라 NoSuchMethodError 가 발생하면 버전을 변경해 주면 됩니다.
java.lang.NoSuchMethodError: jline.console.completer.CandidateListCompletionHandler.setPrintSpaceAfterFullCompletion
반응형
'빅데이터 > spark' 카테고리의 다른 글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 파이썬
- SPARK
- Hadoop
- 하이브
- 백준
- Linux
- build
- 오류
- Tez
- HIVE
- HDFS
- 정올
- Python
- java
- error
- 알고리즘
- SQL
- S3
- mysql
- oozie
- hbase
- ubuntu
- bash
- AWS
- yarn
- nodejs
- 하둡
- 다이나믹
- emr
- airflow
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함