수색…


비고

  • Hive는 Hadoop 위에 구축 된 데이터웨어 하우스 도구입니다.
  • 쿼리 데이터에 SQL과 유사한 언어를 제공합니다.
  • 유일한 차이점은 Hade에서 거의 모든 SQL 쿼리를 실행할 수 있다는 것입니다. 즉, Hadoop Cluster에서 결과를 가져 오기 위해 백엔드에서 map-reduce 작업을 실행합니다. 이 Hive 때문에 때로는 결과 집합을 가져 오는 데 더 많은 시간이 필요합니다.

하이브의 단어 수 예

문서 파일 (입력 파일)

메리에게는 어린 양이있었습니다.

그 양털은 눈처럼 희어졌다.

마리아가 갔던 모든 곳

어린 양은 반드시 가야만했다.

하이브 쿼리

CREATE TABLE FILES (line STRING);

LOAD DATA INPATH 'docs' OVERWRITE INTO TABLE FILES;

CREATE TABLE word_counts AS
SELECT word, count(1) AS count FROM
(SELECT explode(split(line, ' ')) AS word FROM FILES) w
GROUP BY word
ORDER BY word;

하이브에있는 word_counts 테이블의 출력

메리, 2

했다, 1

a, 1

작은, 1

양고기, 2

그것, 1

양털, 1

이었다, 2

흰색, 1

as, 1

눈, 1

및 1

어디서나, 1

저, 1

갔다, 1

, 1

물론, 1

~, 1

가고, 1

하이브 (linux) 설치

https://hive.apache.org/downloads.html 에서 최신 안정 버전을 다운로드하여 시작 하십시오.

-> 이제 파일을 압축 해제하십시오.

$ tar -xvf hive-2.xy-bin.tar.gz

-> / usr / local /에 디렉토리를 만듭니다.

$ sudo mkdir / usr / local / hive

-> 파일을 루트로 이동하십시오.

$ mv ~ / Downloads / hive-2.xy / usr / local / hive

-> .bashrc에서 hadoop 및 하이브 환경 변수 편집

$ gedit ~ / .bashrc

이렇게

export HIVE_HOME = / usr / local / hive / apache-hive-2.0.1-bin /

export PATH = $ PATH : $ HIVE_HOME / bin

export CLASSPATH = $ CLASSPATH : / usr / local / Hadoop / lib / * :.

export CLASSPATH = $ CLASSPATH : /usr/local/hive/apache-hive-2.0.1-bin/lib/* :.

-> 이제, 이미 실행 중이 아니면 hadoop을 시작하십시오. 그리고 그것이 실행 중이고 안전 모드가 아닌지 확인하십시오.

$ hadoop fs -mkdir / user / hive / warehouse

"웨어 하우스"디렉토리는 하이브와 관련된 테이블 또는 데이터를 저장할 위치입니다.

$ hadoop fs -mkdir / tmp

임시 디렉토리 "tmp"는 중간 처리 결과를 저장하는 임시 위치입니다.

-> 해당 폴더에 대한 읽기 / 쓰기 권한을 설정하십시오.

$ hadoop fs -chmod g + 사용자 / 하이브 /웨어 하우스

$ hadoop fs -chmod g + 사용자 / tmp

-> 이제 콘솔에서이 명령으로 HIVE 실행

$ 하이브

Linux에서 외부 Metastore로 하이브 설치

사전 요구 사항 :

  1. Java 7
  2. Hadoop (Hadoop 설치는 여기 를 참조 하십시오 )
  3. MySQL 서버 및 클라이언트

설치:

1 단계 : 다운로드 페이지에서 최신 하이브 타르볼을 다운로드 하십시오.

2 단계 : 다운로드 한 tarball 압축 풀기 ( 가정 : $ HOME에 tarball이 다운로드 됨 )

tar -xvf /home/username/apache-hive-x.y.z-bin.tar.gz

3 단계 : 환경 파일 업데이트 ( ~/.bashrc )

export HIVE_HOME=/home/username/apache-hive-x.y.z-bin
export PATH=$HIVE_HOME/bin:$PATH

새 환경 변수를 설정하기 위해 파일을 소스하십시오.

source ~/.bashrc

4 단계 : 여기서 mysql 용 JDBC 커넥터를 다운로드하고 압축을 풉니 다.

tar -xvf mysql-connector-java-a.b.c.tar.gz

추출 된 디렉토리에는 connector jar 파일 인 mysql-connector-java-abcjar 있습니다. $HIVE_HOMElib 에 복사하십시오.

cp mysql-connector-java-a.b.c.jar $HIVE_HOME/lib/

구성 :

$HIVE_HOME/conf/ directory 아래에 하이브 구성 파일 인 hive-site.xml 을 만들고 다음과 같은 메타 스토어 관련 등록 정보를 추가하십시오.

<configuration>
   <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://localhost/hive_meta</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>mysqluser</value>
       <description>username to use against metastore database</description>
   </property> 
   
   <property>
       <name>javax.jdo.option.ConnectionPassword</name> 
       <value>mysqlpass</value>
       <description>password to use against metastore database</description>
   </property> 

   <property>
       <name>datanucleus.autoCreateSchema</name>
       <value>false</value> 
   </property> 

   <property>
       <name>datanucleus.fixedDatastore</name>
       <value>true</value>
   </property>
</configuration>

등록 정보에서 MySQL "username"및 "password"의 값을 적절히 업데이트하십시오.

Metastore 스키마 만들기 :

메타 스토어 스키마 스크립트는 $HIVE_HOME/scripts/metastore/upgrade/mysql/

MySQL에 로그인하고 스키마를 소스한다.

mysql -u username -ppassword

mysql> create database hive_meta;
mysql> use hive_meta;
mysql> source hive-schema-x.y.z.mysql.sql;
mysql> exit;

Metastore 시작 :

hive --service metastore

백그라운드에서 실행하려면,

nohup hive --service metastore &

HiveServer2 시작 : (필요한 경우 사용)

hiveserver2

백그라운드에서 실행하려면,

nohup hiveserver2 metastore &

참고 : 이 실행 파일은 $HIVE_HOME/bin/

잇다:

hive 에 연결하려면 hive , beeline 또는 색조 중 하나를 사용하십시오.

Hive CLI는 Beeline 또는 Hue를 사용하는 것이 좋습니다.

색조의 추가 구성 :

$HUE_HOME/desktop/conf/hue.ini 에서이 값을 업데이트하십시오.

[beeswax] 
    hive_conf_dir=/home/username/apache-hive-x.y.z-bin/conf


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow