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...