克隆網(wǎng)站后怎么做查詢關(guān)鍵詞網(wǎng)站
一、內(nèi)部表
1、基本介紹
(CREATE TABLE table_name ......
)
未被external
關(guān)鍵字修飾的即是內(nèi)部表, 即普通表。 內(nèi)部表又稱管理表,內(nèi)部表數(shù)據(jù)存儲的位置由hive.metastore.warehouse.dir
參數(shù)決定(默認:/user/hive/warehouse
),刪除內(nèi)部表會直接刪除元數(shù)據(jù)(metadata
)及存儲數(shù)據(jù),因此內(nèi)部表不適合和其他工具共享數(shù)據(jù)。
2、創(chuàng)建表和數(shù)據(jù)
創(chuàng)建表并插入幾條數(shù)據(jù)
create table if not exists stu(id int,name string);
insert into stu values (1,"zhangsan");
insert into stu values (2, "wangwu");
select * from stu;
查看hadoop
中數(shù)據(jù)位置
會發(fā)現(xiàn)看不出有分隔符
。
默認的數(shù)據(jù)分隔符是:”\001”
是一種特殊字符,是ASCII
值,鍵盤是打不出來
3、自定義表的分隔符
create table if not exists stu2(id int ,name string) row format delimited fields terminated by '\t';
查看hadoop
數(shù)據(jù)
發(fā)現(xiàn),已經(jīng)是\t
分割了
4、刪除表
DROP table stu2;
查看hadoop
數(shù)據(jù)
發(fā)現(xiàn)hdfs
中的stu2
數(shù)據(jù)也被刪除了
查看MySQL中的元數(shù)據(jù)
SELECT * FROM TBLS ;
也是沒有stu2
的元數(shù)據(jù)信息
二、外部表
1、基本介紹
(CREATE EXTERNAL TABLE table_name ......LOCATION......
)
被external
關(guān)鍵字修飾的即是外部表, 即關(guān)聯(lián)表。
外部表是指表數(shù)據(jù)可以在任何位置,通過LOCATION
關(guān)鍵字指定。 數(shù)據(jù)存儲的不同也代表了這個表在理念是并不是Hive
內(nèi)部管理的,而是可以隨意臨時鏈接到外部數(shù)據(jù)上的。
所以,在刪除外部表的時候, 僅僅是刪除元數(shù)據(jù)(表的信息),不會刪除數(shù)據(jù)本身。