我的整理Hive安裝手冊(1)--後期不斷更新

1.上傳tar包java

2.解壓
    tar -zxvf hive-1.2.1.tar.gz
3.安裝mysql數據庫
   推薦yum 在線安裝(運行腳本安裝)mysql

4.配置hive
    (a)配置HIVE_HOME環境變量  
        vi conf/hive-env.sh 
        配置其中的$hadoop_homegit

    
    (b)配置元數據庫信息  
        vi  hive-site.xml 
        添加以下內容:
        <configuration>
        <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
        <description>JDBC connect string for a JDBC metastore</description>
        </property>sql

        <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
        <description>Driver class name for a JDBC metastore</description>
        </property>shell

        <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
        <description>username to use against metastore database</description>
        </property>數據庫

        <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>
        <description>password to use against metastore database</description>
        </property>
        </configuration>
    
5.安裝hive和mysq完成後,將mysql的鏈接jar包拷貝到$HIVE_HOME/lib目錄下
    若是出現沒有權限的問題,在mysql受權(在安裝mysql的機器上執行)
    mysql -uroot -p
    
    設置密碼
    set password=password('root');
    
    #(執行下面的語句  *.*:全部庫下的全部表   %:任何IP地址或主機均可以鏈接)
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    
    FLUSH PRIVILEGES;
    
    
    經過mysql -uroot -proot
    
    
6. Jline包版本不一致的問題,須要拷貝hive的lib目錄中jline.2.12.jar的jar包替換掉hadoop中的 
    6.一、 cp hive/lib/jline-2.12.jar /opt/software/hadoop-2.6.4/share/hadoop/yarn/lib/
    6.二、裝hive和mysq完成後,將mysql的鏈接jar包拷貝到$HIVE_HOME/lib目錄下服務器

-------------------------------------------------------------------------------------------------------架構

啓動hive
bin/hive
----------------------------------------------------------------------------------------------------
Hive幾種使用方式:
    1.Hive交互shell      bin/hive
    
    2.Hive JDBC服務(參考java jdbc鏈接mysql)
    
    3.hive啓動爲一個服務器,來對外提供服務
        bin/hiveserver2
        nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err &
        
        啓動成功後,能夠在別的節點上用beeline去鏈接
        bin/beeline -u jdbc:hive2://mini1:10000 -n root
        
        或者
        bin/beeline
        ! connect jdbc:hive2://mini1:10000
    
    4.Hive命令 
        hive  -e  ‘sql’
        bin/hive -e 'select * from t_test'oop

建立表:
        內部表--刪除以後數據所有丟失
        CREATE  TABLE [IF NOT EXISTS] table_name
        
        外部表--刪除元數據以後源數據還存在
        CREATE EXTERNAL TABLE [IF NOT EXISTS] table_name LOCATION hdfs_path
        一、結構同樣,可是數據不同  ----like
            create table bws like te;
        二、結構同樣,數據也同樣----as
            create table bws2 as select * from tes;大數據

            
設置表結構:必定按照這個順序來

ROW FORMAT DELIMITED : 行格式分隔
FIELDS TERMINATED BY ’,’ : 字段之間使用空格分隔
COLLECTION ITEMS TERMINATED BY ‘,’ : 集合(就是這的數據)使用逗號分隔
MAP KEYS TERMINATED BY ‘:’ : 鍵值對使用冒號分隔
LINES TERMINATED BY ‘\t’ : 記錄之間使用換行符分隔

Hive 查看錶描述

DESCRIBE [EXTENDED|FORMATTED] table_name
    extended
    formatted

table-type:查看建立表的類型

補充:臨時表
        在當前進程中能夠對數據進行相應的操做,可是退出hive時,就自動刪除
        create TEMPORARY table name-----必定是一張內部表
 

後期會不斷更新相關的內容,對Java、大數據比較感興趣的朋友能夠關注我

公衆號:Java架構師聯盟

碼雲上會不斷的上傳一些資料,有須要的,碼雲地址: https://gitee.com/biwangsheng/personal

相關文章
相關標籤/搜索