본문 바로가기

보물창고/Big Data

hiveserver2 client 내용 정리 beeline

반응형






hiveserver2 client 내용 정리 beeline


HDInsight를 설치하면 서비스에 hiveserver2가 실행되고 있는데 이게 어떤건지 모르고 있다가 이번 Hortonworks 하둡 설치 메뉴얼을 보고 설치하는 중에 확인할 수 있었습니다


hiveserver2에대한 내용을 정리합니다
위 링크 페이지 윗부분 설명 부분을 번역했습니다





HiveServer2는 HiveServer2 작동하는 새로운 명령 셸 Beeline를 지원합니다. 그것은 SQLLine CLI (http://sqlline.sourceforge.net/)을 기반으로 JDBC 클라이언트입니다.

뿐만 아니라 Beeline에 적용 SQLLine의 자세한 설명서가있다.Beeline 쉘이 모두 포함 된 모드뿐만 아니라 원격 모드에서 작동합니다.

원격 모드 서점을 통해 별도의 HiveServer2 프로세스에 연결하는 반면 임베디드 모드에서는 내장 하이브 (하이브 CLI와 유사)를 실행합니다.


 





Beeline는 클라이언트입니다
아래 예를 보면 beeline를 실행하고 !connection을 이용 hive접속정보를 주면 hive서버에 접속해 쿼리를 날릴수 있게 제공합니다
beeline가 제공하는 명령어를 이용해 동작합니다
hive에서는 hiveserver2가 beeline가 접속할 수 있는 서버입니다 기본 10000번 포트를 이용해서 접속 할 수 있습니다

hiveserver2 에 접속할 수있는 jdbc가 제공되고 있으며 Hortonworks에서 ODBC를 제공하고 있고 검색해보니 2013년 2월에 답변한 내용중 곧 최신 버전의 ODBC가 제공될 것이라는 글이 있었습니다

Example –

% bin/beeline
Hive version 0.11.0-SNAPSHOT by Apache
beeline> !connect jdbc:hive2://localhost:10000 scott tiger org.apache.hive.jdbc.HiveDriver
!connect jdbc:hive2://localhost:10000 scott tiger org.apache.hive.jdbc.HiveDriver
Connecting to jdbc:hive2://localhost:10000
Connected to: Hive (version 0.10.0)
Driver: Hive (version 0.10.0-SNAPSHOT)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://localhost:10000> show tables;
show tables;
+-------------------+
|     tab_name      |
+-------------------+
| primitives        |
| src               |
| src1              |
| src_json          |
| src_sequencefile  |
| src_thrift        |
| srcbucket         |
| srcbucket2        |
| srcpart           |
+-------------------+
9 rows selected (1.079 seconds)







SQLLine 사이트에서의 설명

SQLLine는 관계형 데이터베이스에 연결하고 SQL 명령을 실행하기위한 순수 자바 콘솔 기반 유틸리티입니다. 그것은 오라클, MySQL의 및 Sybase / SQL Server에 대한 isql을위한 SQLPLUS와 같은 다른 명령 줄 데이터베이스 액세스 유틸리티 비슷합니다. 그것은 순수 자바이기 때문에, 플랫폼 독립적이며, 자바 1.3 이상을 실행할 수있는 모든 플랫폼에서 실행됩니다.





HortonWorks 포럼 어떤 질문들에 달린 답변을 보면(2013년 2월) 현재 ODBC가 있는것으로 보이고 최신 ODBC버전도 곧 나올 것이라는 글이 있었습니다







아래는 실제 실행해서 테스트한 내용 입니다


/usr/lib/hive/bin/beeline

!connect jdbc:hive2://localhost:10000 hadoop hadoop org.apache.hive.jdbc.HiveDriver


show databases;
create table test2(a int, b string);
show tables;



실행 결과

[hadoop@localhost bin]$

[hadoop@localhost bin]$ /usr/lib/hive/bin/beeline

-hiveconf (No such file or directory)

hive.aux.jars.path=file:/usr/lib/hcatalog/share/hcatalog/hcatalog-core.jar (No such file or directory)

Hive version 0.10.0.24 by Apache

beeline>

beeline> show databases;

No current connection

beeline>

beeline> !connect jdbc:hive2://localhost:10000 hadoop hadoop org.apache.hive.jdbc.HiveDriver

Connecting to jdbc:hive2://localhost:10000

Connected to: Hive (version 0.10.0)

Driver: Hive (version 0.10.0.24)

Transaction isolation: TRANSACTION_REPEATABLE_READ

0: jdbc:hive2://localhost:10000>

0: jdbc:hive2://localhost:10000> show databases;

+----------------+

| database_name  |

+----------------+

| default     |

+----------------+

1 row selected (1.864 seconds)

0: jdbc:hive2://localhost:10000> create table test2(a int, b string);

No rows affected (0.366 seconds)

0: jdbc:hive2://localhost:10000>

0: jdbc:hive2://localhost:10000> show tables;

+-----------+

| tab_name  |

+-----------+

| test   |

| test2 |

+-----------+

2 rows selected (0.242 seconds)

0: jdbc:hive2://localhost:10000>





반응형