hive 基礎SQL

hive 基礎SQL


1.DDL操作語句

關於hive的DDL操作,分為庫和表來總結:

(1)創建庫

hive 基礎SQL

(2)查看庫

hive 基礎SQL

(3) 刪除庫

hive 基礎SQL

1 創建表

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]

CREATE TABLE 創建一個指定名字的表。如果相同名字的表已經存在,則拋出異常;用戶可以用 IF NOT EXIST 選項來忽略這個異常

EXTERNAL 關鍵字可以讓用戶創建一個外部表,在建表的同時指定一個指向實際數據的路徑(LOCATION)

LIKE 允許用戶複製現有的表結構,但是不復制數據

COMMENT可以為表與字段增加描述

PARTITIONED BY

指定分區

ROW FORMAT

  DELIMITED [FIELDS TERMINATED BY char] [COLLECTION ITEMS TERMINATED BY char]

    MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char]

    | SERDE serde_name [WITH SERDEPROPERTIES

    (property_name=property_value, property_name=property_value, ...)]

  用戶在建表的時候可以自定義 SerDe 或者使用自帶的 SerDe。如果沒有指定 ROW FORMAT 或者 ROW FORMAT DELIMITED,將會使用自帶的 SerDe。在建表的時候,

用戶還需要為表指定列,用戶在指定表的列的同時也會指定自定義的 SerDe,Hive 通過 SerDe 確定表的具體的列的數據。

STORED AS

  SEQUENCEFILE //序列化文件

  | TEXTFILE //普通的文本文件格式

  | RCFILE  //行列存儲相結合的文件

  | INPUTFORMAT input_format_classname OUTPUTFORMAT output_format_classname //自定義文件格式

  如果文件數據是純文本,可以使用 STORED AS TEXTFILE。如果數據需要壓縮,使用 STORED AS SEQUENCE 。

LOCATION指定表在HDFS的存儲路徑

(1)創建默認的內部表

hive 基礎SQL

(2)創建外部表

hive 基礎SQL

(3)創建分區表

hive 基礎SQL

添加分區

hive 基礎SQL

(4)創建分桶表

hive 基礎SQL

(5)使用CTAS創建表

從一個查詢SQL的結果來創建一個表進行存儲;

hive 基礎SQL

(6)複製表結構

hive 基礎SQL

2 查看錶

(1) 查看錶列表

hive 基礎SQL

(2) 查看錶的詳細信息

hive 基礎SQL

(3) 修改表

hive 基礎SQL

(4) 刪除表

hive 基礎SQL

(5) 清空表

hive 基礎SQL


分享到:


相關文章: