Amazon EMR에서 Spark SQL Java Database Connectivity(JDBC) 연결을 설정하려고 합니다.
해결 방법
참고: 다음 단계는 로컬 시스템에서 SQL 클라이언트에 Squirrel SQL 클라이언트를 사용합니다.
Amazon EMR에서 Spark SQL JDBC 연결을 설정하려면 다음 단계를 완료하십시오.
-
Squirrel SQL 클라이언트를 다운로드하여 설치합니다. 자세한 내용은 Squirrel SQL 웹 사이트의 다운로드 및 설치를 참조하십시오.
-
Amazon EMR 프라이머리 노드에 연결하려면 SSH를 사용합니다.
-
Spark Thrift 서버를 시작하려면 프라이머리 노드에서 다음 명령을 실행합니다.
sudo /usr/lib/spark/sbin/start-thriftserver.sh
-
프라이머리 노드에서 /usr/lib/spark/jars 디렉터리의 모든 .jar 파일을 로컬 시스템으로 복사합니다.
-
Squirrel SQL 클라이언트를 열고 다음과 같이 새 드라이버를 생성합니다.
이름에 Spark JDBC 드라이버를 입력합니다.
예시 URL에는 jdbc:hive2://localhost:10001을 입력합니다.
-
JDBC 드라이버 클래스 경로 탭에서 추가를 선택합니다.
-
대화 상자에서 이전에 .jar 파일을 복사한 디렉터리로 이동한 다음 모든 파일을 선택합니다.
-
클래스 이름 필드에 org.apache.hive.jdbc.HiveDriver를 입력한 다음 확인을 선택합니다.
-
SSH 터널을 설정하려면 로컬 컴퓨터에서 로컬 포트 포워딩을 사용합니다.
ssh -o ServerAliveInterval=10 -i path-to-key-file -N -L 10001:localhost:10001 hadoop@example-primary-public-dns
참고: example-primary-public-dns를 기본 퍼블릭 DNS 이름으로 바꾸십시오.
-
Spark Thrift 서버에 연결하려면 다음과 같이 Squirrel SQL 클라이언트에서 새 별칭을 만듭니다.
이름에 Spark JDBC를 입력합니다.
드라이버에 Spark JDBC 드라이버를 입력합니다.
URL에 jdbc:hive2://localhost:10001을 입력합니다.
사용자 이름에 hadoop을 입력합니다.
참고: 이제 Squirrel SQL 클라이언트에서 쿼리를 실행할 수 있습니다.