[HADOOP] 스파크에서 하이브 테이블에 액세스하기
HADOOP스파크에서 하이브 테이블에 액세스하기
하이브 0.13 설치가 있고 사용자 지정 데이터베이스를 만들었습니다. 나는 스파크 1.1.0 단일 노드 클러스터 mvn - 하이브 옵션을 사용하여 빌드했습니다. hivecontext를 사용하여 스파크 애플리케이션에서이 데이터베이스의 테이블에 액세스하려고합니다. 하지만 hivecontext는 항상 spark 디렉토리에 생성 된 로컬 메타 스토어를 읽습니다. hive-site.xml을 spark / conf 디렉토리에 복사했습니다. 다른 구성을해야합니까 ??
해결법
-
==============================
1.1 단계: 최신 버전의 SPARK 설정 ....
1 단계: 최신 버전의 SPARK 설정 ....
$ cd $SPARK_Home; ./sbt/sbt -Phive assembly $ cd $SPARK_Home; ./sbt/sbt -Phivethriftserver assembly
이걸 실행하면 몇 가지 항아리 파일을 다운로드하고 bydefault 그것은 추가 할 필요가 추가됩니다 ....
2 단계: Hive 클러스터의 hive-site.xml을 $ SPARK_HOME / conf / dir에 복사하고 XML 파일을 편집하고 아래에 나열된 파일에 이러한 속성을 추가하십시오.
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://MYSQL_HOST:3306/hive_{version}</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore/description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>XXXXXXXX</value> <description>Username to use against metastore database/description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>XXXXXXXX</value> <description>Password to use against metastore database/description> </property>
3 단계 : MYSQL JDBC 커넥터를 다운로드하여 SPARK CLASSPATH에 추가하십시오. 이 명령을 실행하십시오. bin / compute-classpath.sh 다음 스크립트에 대해 아래 행을 추가하십시오.
CLASSPATH=”$CLASSPATH:$PATH_TO_mysql-connector-java-5.1.10.jar
HIVE에서 SPARK로 데이터를 검색하는 방법 ....
1 단계: 다음 명령으로 모든 데몬을 시작하십시오 ....
start-all.sh
2 단계: 다음 명령을 사용하여 hive thrift server 2를 시작하십시오 ....
hive --service hiveserver2 &
3 단계 : 다음 명령으로 스파크 서버를 시작하십시오 ....
start-spark.sh
마지막으로 다음 명령으로 확인하여 시작되었는지 여부를 확인하십시오 ....
RunJar ResourceManager Master NameNode SecondaryNameNode Worker Jps JobHistoryServer DataNode NodeManager
4 단계 : 다음 명령으로 마스터를 시작하십시오 ....
./sbin/start-master.sh
주인을 멈추기 위하여는 아래에 ..... 명령을 사용하십시오
./sbin/stop-master.sh
5 단계 : 새 터미널 열기 .... 다음 경로로 시작하십시오.
hadoop@localhost:/usr/local/hadoop/hive/bin$ beeline
그것이 입력을 요청한 후에 ... 아래 나열된 입력을 전달하십시오 ....
!connect jdbc:hive2://localhost:10000 hadoop "" org.apache.hive.jdbc.HiveDriver
그 후 다음 명령으로 스파크를 설정하십시오 .... 참고 : 이러한 구성을 conf 파일에 설정하면 항상 실행할 필요가 없습니다.
set spark.master=spark://localhost:7077; set hive.execution.engines=spark; set spark.executor.memory=2g; // set the memory depends on your server set spark.serializer=org.apache.spark.serializer.kryoSerializer; set spark.io.compression.codec=org.apache.spark.io.LZFCompressionCodec;
입력을 요청한 후 .... 데이터를 가져 오려는 쿼리를 전달하고 브라우저를 열고 다음 명령으로 URL을 체크인하십시오. localhost : 8080 실행중인 작업 및 완료된 작업을 URL ....
from https://stackoverflow.com/questions/26360725/accesing-hive-tables-in-spark by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] MapReduce 작업 구성의 매개 변수 설정 (0) | 2019.06.29 |
---|---|
[HADOOP] hadoop 스트리밍을 사용하여 파일 압축 풀기 (0) | 2019.06.29 |
[HADOOP] 둘째 날에 "너무 많은 페치 실패"가 발생하는 이유는 무엇입니까? (0) | 2019.06.29 |
[HADOOP] 매퍼 (또는 감속기) 내부에서 MR 작업을 중단하는 방법 (0) | 2019.06.29 |
[HADOOP] 매퍼 수를 제한하는 방법 (0) | 2019.06.29 |