Hive JDBC 인터페이스
Hive JDBC 인터페이스 (JDBC Driver)
Hive의 JDBC 인터페이스는 쿼리 실행과 결과 조회를 지원해요. Pentaho 리포트 디자이너나 SQuirrel SQL 클라이언트 같은 도구에서 Hive에 접속하는 방법을 안내해요.
출처: 문서
본문
현재 Hive의 JDBC 인터페이스는 쿼리 실행과 결과 조회만 지원합니다. 메타데이터 호출 중 일부 작은 부분 집합만 지원됩니다.
JDBC 인터페이스를 어떻게 사용하는지 보려면 샘플 코드를 참고하세요.
Pentaho 통합
- pentaho 웹사이트에서 pentaho report designer를 다운로드합니다.
- report-designer.sh를 아래 코드로 덮어씁니다.
#!/bin/sh
HADOOP_CORE=$(ls $HADOOP_HOME/hadoop-*-core.jar)
CLASSPATH=.:$HADOOP_CORE:$HIVE_HOME/conf
for i in ${HIVE_HOME}/lib/*.jar ; do
CLASSPATH=$CLASSPATH:$i
done
CLASSPATH=$CLASSPATH:launcher.jar
echo java -XX:MaxPermSize=512m -cp $CLASSPATH -jar launcher.jar
java -XX:MaxPermSize=512m -cp $CLASSPATH org.pentaho.commons.launcher.Launcher
- HiveServer의 설명에 따라 hive 서버를 빌드하고 시작합니다.
- Hive JDBC 클라이언트 코드를 컴파일·실행해 데이터를 로드합니다(아직 report designer에서 하는 방법은 알 수 없음). 데이터 로드는 샘플 코드를 참고하세요.
- 리포트 디자이너를 실행합니다(2단계 기록).
$ sh reporter-designer.sh
- 'Report Design Wizard'를 선택합니다.
- 템플릿을 선택합니다 - 예: 'fall template' - 다음.
- 새 데이터 소스를 만듭니다 - JDBC(사용자 정의), Generic database.
- Hive JDBC 매개변수를 제공합니다. 연결 이름을 'hive'로 지정합니다.
URL: jdbc:hive://localhost:10000/default
Driver name: org.apache.hadoop.hive.jdbc.HiveDriver
Username and password are empty
- 'Test'를 클릭합니다. 테스트가 성공해야 합니다.
- 쿼리를 편집합니다: 'Sample Query'를 선택하고, edit query를 클릭하고, 'hive' 연결을 클릭합니다. 새 쿼리를 만듭니다. testHiveDriverTable 테이블에 쿼리를 작성합니다. 예: select * from testHiveDriverTable. 다음을 클릭합니다.
- 레이아웃 단계: Group Items By에
PageOfPages를 추가합니다. Selected Items에 key와 value를 추가합니다. 다음을 클릭합니다. 그리고 Finish. - Report header를 'hive-pentaho-report'로 변경합니다. header의 타입을 'html'로 변경합니다.
- 리포트를 실행하고 pdf를 생성합니다. 여기 첨부된 리포트와 비슷한 결과를 얻어야 합니다.
SQuirrel SQL Client 통합
-
SQuirrel SQL 웹사이트에서 SQuirrel SQL Client를 다운로드·설치·시작합니다.
-
Hive JDBC 드라이버를 등록하려면 'Drivers -> New Driver…'를 선택합니다.
- 드라이버 이름과 예제 URL을 입력합니다:
Name: Hive
Example URL: jdbc:hive://localhost:10000/default
- 로컬 Hive와 Hadoop 배포판의 다음 jars를 추가하려면 'Extra Class Path -> Add'를 선택합니다.
HIVE_HOME/build/dist/lib/*.jar
HADOOP_HOME/hadoop-*-core.jar
- 'List Drivers'를 선택합니다. 그러면 SQuirrel이 jars에서 JDBC 드라이버를 파싱하며 몇 초 걸릴 수 있습니다. 'Class Name' 입력 상자에서 Hive 드라이버를 선택합니다:
org.apache.hadoop.hive.jdbc.HiveDriver
- 'OK'를 클릭해 드라이버 등록을 완료합니다.
- Hive 서버에 대한 연결 별칭을 만들려면 'Aliases -> Add Alias…'를 선택합니다.
- 'Name' 입력 상자에 연결 별칭 이름을 지정합니다.
- 'Driver' 드롭다운에서 Hive 드라이버를 선택합니다.
- 예제 URL을 필요에 따라 Hive 서버를 가리키도록 수정합니다.
- 'User Name'과 'Password'는 비워두고 'OK'를 클릭해 연결 별칭을 저장합니다.
- Hive 서버에 연결하려면 Hive 별칭을 더블클릭하고 'Connect'를 클릭합니다.
연결이 수립되면 로그 콘솔에 오류가 표시되고 드라이버가 JDBC 3.0과 호환되지 않는다는 경고가 나올 수 있습니다. 이 경고들은 아직 구현되지 않은 JDBC 메타데이터 API 부분 때문이며 안전하게 무시할 수 있습니다. 연결을 테스트하려면 콘솔에 SHOW TABLES 를 입력하고 실행 아이콘을 클릭하세요.
또한 쿼리 실행 중에는 'Cancel' 버튼 지원이 아직 제공되지 않습니다.
더 알아보기 (Learn more)
JDBC를 통해 Hive에 접속하는 자세한 클라이언트 사용 방법은 Hive 클라이언트 문서를 참고하세요. 서버 설정은 HiveServer 문서를 확인해 보세요.