HIVE建立外部表

2021-09-19 17:40:13 字數 1532 閱讀 3299

基礎建表語句:

create [external] table [if not exists] table_name

[(col_name data_type [comment col_comment], ...)]

[comment table_comment]

[partitioned by (col_name data_type [comment col_comment], ...)]

[clustered by (col_name, col_name, ...)

[sorted by (col_name [asc|desc], ...)] into num_buckets buckets]

[row format row_format]

[stored as file_format]

[location hdfs_path]

小demo:

create external  table transaction1(id int,*** string,age int,date string,role string,region string) row format delimited fields terminated by ' ' stored as textfile location '/user/hdfs/source/hive_test' ;
1、建立表指定的路徑

hadoop fs -mkdir /user/hdfs/source/hive_test
2、建表:包括是否外部表、表名、表字段、表屬性。

a.指定分隔符:其中,fields terminated by 『\t』 是指定字段分隔符也可用用其他符號如「,」,「|」等等,lines terminated by '\n』是指定行分隔符(一般不寫,預設是換行符)。

b.指定檔案格式:上面語句就是建立文字格式的**,一般如果集群的hdfs沒有設定檔案格式,hive**預設的便是txt文字格式的,可通過命令hadoop fs -cat /**目錄/* (*或者檔名)檢視到檔案的內容。hive**也可以設定其他格式,stored as sequencefile 設定為sqquencefile格式;stored as rcfile 設定為rcfile格式。

c.指定檔案儲存位置:上面語句中location '/user/hdfs/source/hive_test』便是指定了**在hdfs儲存的目錄,建表完成可在/data/下看到已建立hive_test目錄,指定目錄一般在大型集群上比較常用的,因為集群的規模越大,使用者就越多,集群管理者便會對使用者做許可權管理,許可權管理中必定會涉及對hdfs的目錄進行管理,這個時候使用者可能沒有預設warehouse目錄的許可權了,建表便需要指定**目錄了。

d.指定分割槽:partitioned by ()語句便是指定某字段為分割槽字段

3、將資料檔案丟到指定位置

4、select * from ***;查詢校驗

5、drop table ***;刪除表

6、檢視hdfs中檔案是否存在

Hive建立外部表

hive建立外部表 1.環境需求 hadoop 2.6.0 hive 1.2.1 hue 3.7.0 2.開發過程 1 建立hdfs目錄 hadoop dfs mkdir wy input 2 上傳本地資料到hdfs中 hadoop dfs put usr wy writing.txt wy inp...

hive 外部表 建立示例

hdfs dfs mkdir p external sr sr created hdfs dfs mkdir p external sr sr assign hdfs dfs mkdir p external sr sr cancelled hdfs dfs mkdir p external sr ...

hive建表 一 建立外部表

未被external修飾的是內部表 managed table 被external修飾的為外部表 external table 區別 內部表資料由hive自身管理,外部表資料由hdfs管理 內部表資料儲存的位置是hive.metastore.warehouse.dir 預設 user hive wa...