天天看點

Hive資料倉庫實戰(詳細)

将本地檔案資料加載到Hive資料倉庫:

首先在/public/users/yexin/Hadoop/hadoopdata下建立文本檔案:

Hive中建立表後隻有兩種方式可以加載資料:(1)從本地檔案系統加載資料(2)從Hadoop檔案系統加載資料

Hive資料倉庫實戰(詳細)

在node63節點啟動hive服務:分别輸入:hive --service metastore &;hive --service hiveserver2或直接輸入hiveserver2

在node70節點下輸入hive登陸,執行如下操作,

建立表:

Hive資料倉庫實戰(詳細)

hive> CREATE TABLE score (

    > sno int,name String,

    > java decimal(10,2),

    > python decimal(10,2))

    > ROW FORMAT DELIMITED

    > FIELDS TERMINATED BY '\t'

    > LINES TERMINATED BY '\n'

    > STORED AS TEXTFILE;

OK

Time taken: 0.429 seconds

導入資料:從本地系統檔案按導入

Hive資料倉庫實戰(詳細)

Time taken: 0.429 seconds

hive> load data local inpath '/public/users/yexin/Hadoop/hadoopdata/score.txt' overwrite into table score;

Loading data to table yexin.score

OK

Time taken: 1.413 seconds

Hive資料倉庫實戰(詳細)

查詢score表:

Hive資料倉庫實戰(詳細)

檢視HDFS資料:

Hive資料倉庫實戰(詳細)

檢視中繼資料:

use hive;

Hive資料倉庫實戰(詳細)
Hive資料倉庫實戰(詳細)

删除表:drop tabel score  記住删除表時HDFS上的資料一起删除了。

注意:如果建立的是外部表,drop後HDFS中的檔案并沒有删除

=========================================================================

Beelin指令:

設定通路權限:修改hadoop的core-site.xml

用其他節點作為用戶端,需要在node63節點配置hive2的監聽節點端口,才能讓遠端通路hive服務(beeline)

vim hive-site.xml

添加:來綁定node70用戶端通路 。這樣遠端就可以通路了。

<property>

        <name>hive.server2.thrift.bind.host</name>

        <value>node70</value>

 </property>

    <property>

        <name>hive.server2.long.polling.timeout</name>

        <value>5000</value>

    </property>

在node70節點(hive的用戶端)來連接配接HiveServer2(允許多個用戶端并發操作)

輸入:beeline進入beeline,輸入:

!connect jdbc:hive2://node70:10000 yexin 12345

繼續閱讀