HIVE的基礎知識內部表與外部表

2021-10-07 21:00:59 字數 2969 閱讀 4938

hive:將結構化的資料檔案對映為資料庫表

查詢語句簡便話,類sql語言;

表在hdfs中表現為資料夾

[root@hadoop151 hive]

# jps

15105 jps

7715 nodemanager

2855 quorumpeermain

7303 datanode

7179 namenode

7455 secondarynamenode

7599 resourcemanager

啟動之後應該要有的程式

[root@hadoop151 hive]

# nohup hive --service hiveserver2 &

[root@hadoop151 hive]

# hive //hive命令列

[root@hadoop151 hive]

# beeline -u "jdbc:hive2://localhost:10000" //beeline

上面兩種啟動的方式選其一即可,beeline裡面顯示**有框

int

double

decimal

boolean

string //字串

date

timestamp

//時間戳

hdfs中為所屬資料庫目錄下的子資料夾

刪除表刪除資料

示例:

hive>

這是插入成功的狀態,資料存放在表的目錄下

hive>

drop

table

user

;

刪除表之後,發現資料也被刪除

資料儲存在指定位置的hdfs路徑中

刪除表不會刪除資料

例項:現有如下資料

2020-7

-716:11:47

|12345

|2020-7

-716:11:53

|12345

|2020-7

-716:12:0

|12345

|

把它放到.log檔案中

!hdfs dfs -mkdir /customers

!hdfs dfs -put action

.log /customers

!hdfs dfs -chmod 777

/customers

hive>

create external table

ifnot

exists usernew(

>

date string,

> id string,

> msg string

>

)>

row format delimited fields

terminated

by"|"

> location "/customers";ok

time taken: 0.115 seconds

hive>

select

*from usernew;

ok2020-7

-716:11:47

12345

2020-7

-716:11:53

12345

2020-7

-716:12:0

12345

2020-7

-716:12:1

12345

2020-7

-716:12:3

12345

2020-7

-716:12:5

12345

2020-7

-716:12:10

12345

2020-7

-716:20:59

12345

2020-7

-716:21:0

12345

2020-7

-716:21:3

12345

2020-7

-716:21:4

12345

2020-7

-716:21:24

12345

2020-7

-716:21:25

12345

time taken: 0.106 seconds, fetched: 13

row(s)

hive>

drop

table usernew;

刪除之後檔案還在

!q

quit;

//都可以

hive內部表與外部表

假設已經進入hive的環境。有一張叫做test的表 內部表 外部表 未被external修飾的是內部表 managed table 被external修飾的為外部表 external table 區別 內部表資料由hive自身管理,外部表資料由hdfs管理 內部表資料儲存的位置是hive.metas...

Hive 內部表與外部表

首先檢視當前的表 檢視emp表 檢視這個emp表的詳細資訊 可以看到table type是乙個managed table,就是所謂的內部表 首先看一下mysql中的表 tbls 可以看到這個表tbl type是managed table型別,檢視hdfs上的資料 然後從hive中刪除這個表emp 刪...

hive內部表與外部表入門

在hive中,表型別主要分為兩種,第一種 內部表 第二種 外部表 create external table tablename id int name string location path 內部表轉外部表 alter table tablename set tblproperties exte...