비디오: Beeline Vs Hive CLI when using Ranger 2024
첫 번째 하이브 클라이언트는 하이브 명령 줄 인터페이스 (CLI)입니다. Hive CLI 클라이언트의 미세한 점을 마스터하려면 (다소 바쁜 것처럼 보이는) Hive 아키텍처를 검토하는 것이 도움이 될 수 있습니다.
두 번째 그림에서 아키텍처는 간소화되어 CLI를 실행할 때 필요한 구성 요소에만 집중합니다.
이들은 Hadoop 클러스터에서 CLI를 실행할 때 필요한 Hive의 구성 요소입니다. 여기서 하이브는 HDFS가 아닌 로컬 저장소를 사용하는 로컬 모드에서 실행됩니다.
하이브 CLI를 실행하려면 하이브 명령을 실행하고 CLI를 실행할 서비스로 지정하십시오. 다음 목록에는 첫 번째 HiveQL 문과 함께 필요한 명령이 나와 있습니다. A-B-C 모델을 사용하는 단계 주석이 주요 명령에주의를 기울일 수 있도록 목록에 포함됩니다.
(B) 하이브> 하이브를 설정합니다. cli. 인쇄. 흐름. db = true; (C) 하이브 (기본값)> 우리 데이터베이스를 만듭니다. 확인 시간: 3. 756 초 (D) 하이브 (기본값)> 첫 번째 데이터베이스 사용; 확인 시간: 0. 039 초 (E) 하이브 (ourfirstdabase)> CREATE TABLE our_first_table (> 이름 STRING, 성 성 STRING> EmployeeId INT); 확인 소요 시간: 0.043 초 하이브 (당일 치기)> 종료; (F) $ ls / home / biadmin / Hive / warehouse / ourfirstdabase. db our_first_table 첫 번째 명령 (단계 A 참조)은 $ HIVE_HOME 환경 변수를 사용하여 Hive CLI를 시작합니다. -service cli 명령 줄 옵션은 하이브 시스템이 명령 줄 인터페이스를 시작하도록 지시하지만 다른 서버를 선택할 수도 있습니다.다음 단계 B에서 하이브 CLI가 현재 작업중인 데이터베이스를 인쇄하여 네임 스페이스에있는 위치를 알 수 있습니다. (이 명령문은 다음 명령을 사용하는 방법을 설명하고 나면 이해할 수 있습니다.)
C 단계에서 HiveQL의 DDL (Data Definition Language)을 사용하여 첫 번째 데이터베이스를 만듭니다. Hive의 데이터베이스는 특정 테이블이 상주하는 네임 스페이스이므로 테이블 집합은 데이터베이스 또는 스키마로 간주 될 수 있으므로 동일한 결과를 얻으려면 DATABASE 대신 SCHEMA라는 용어를 사용할 수 있습니다.보다 구체적으로 DDL을 사용하여 ourfirstdatabase라는 데이터베이스를 만든 다음이 데이터베이스를 단계 D에서 USE 명령을 사용하는 후속 HiveQL DDL 명령의 기본값으로 만들도록 시스템에 지시합니다. 단계 E에서 첫 번째 데이터베이스 테이블에 넣고 (아주 적절한) 이름 our_first_table을 제공하십시오.
(지금까지는 익숙한 RDBMS에 따라 약간의 구문 차이가 있었지만 SQL과 매우 흡사하다고 생각했을 것입니다.) 그리고 마지막 명령은 다음과 같습니다. 단계 F는 our_first_table이 실제로 디스크에 저장되어 있음을 알 수 있도록 선택한 Hive웨어 하우스 디렉토리의 디렉토리 목록을 수행합니다.
하이브를 설정했습니다. 전이. 창고. dir 변수가 적절한 Hadoop 클러스터 에서처럼 HDFS를 사용하지 않고 Linux 가상 시스템의 / home / biadmin / Hive / warehouse 로컬 디렉토리를 가리 키도록합니다.
테이블을 만든 후에는 테이블의 메타 데이터를 보는 것이 흥미 롭습니다. 프로덕션 환경에서는 수십 개의 테이블 이상을 가질 수 있으므로 때때로 테이블 구조를 검토하는 것이 유용합니다.
c
와 는 Hive CLI 명령을 사용하여 Hive CLI를 사용하지만 Hive 웹 인터페이스 (HWI) 서버는 이러한 유형의 작업에 유용한 인터페이스를 제공합니다. CLI 대신 HWI 서버를 사용하는 것이 더 안전 할 수도 있습니다. 프로덕션 환경에서 CLI를 사용할 때는 CLI를 실행하는 시스템이 전체 Hadoop 클러스터에 액세스 할 수 있어야하므로 신중하게 고려해야합니다. 따라서 시스템 관리자는 일반적으로 보안 쉘 (ssh)과 같은 도구를 설치하여 CLI를 실행하는 시스템에 대한 제어 된 보안 액세스를 제공하고 네트워크 암호화를 제공합니다. 그러나 HWI 서버를 사용하면 사용자는 자신의 웹 브라우저를 통해 HWI 서버가 허용 한 하이브 데이터에만 액세스 할 수 있습니다.