一、Hive分區表Insert數據values
Hive分區表是基於分區的數據存儲,數據按照指定的分區欄位存儲,可以提高查詢效率。在向分區表中插入數據時,可以使用values語句。values語句指定了每條記錄的欄位值,可以插入多條記錄。
INSERT INTO TABLE table_name PARTITION (partition_column) VALUES (value1,value2,...), (value1,value2,...), ...
其中,table_name是表名,partition_column是指定的分區欄位,value1,value2,…是每條記錄的欄位值。
二、Hive向分區表中Insert
除了使用values語句插入數據外,還可以使用insert into語句向分區表中插入數據。這種方式需要指定欄位名和欄位值。
INSERT INTO TABLE table_name PARTITION (partition_column) SELECT column1,column2,... FROM source_table WHERE condition;
其中,table_name是表名,partition_column是指定的分區欄位,column1,column2,…是源表的欄位名,source_table是源表的表名,condition是篩選條件。
三、Hive insert into 分區表
insert into語句可以向普通表和分區表中插入數據,在向分區表中插入數據時,需要指定分區欄位。
INSERT INTO TABLE table_name PARTITION (partition_column) column1,column2,...;
其中,table_name是表名,partition_column是指定的分區欄位,column1,column2,…是要插入的數據。
四、Hive insert overwrite 分區表
insert overwrite語句可以覆蓋分區表中的數據,需要指定分區欄位。
INSERT OVERWRITE TABLE table_name PARTITION (partition_column) SELECT column1,column2,... FROM source_table WHERE condition;
其中,table_name是表名,partition_column是指定的分區欄位,column1,column2,…是源表的欄位名,source_table是源表的表名,condition是篩選條件。
五、Hive清空分區表數據
可以使用truncate語句清空分區表中的數據。
TRUNCATE TABLE table_name PARTITION (partition_column);
其中,table_name是表名,partition_column是指定的分區欄位。
六、Hive查詢分區表數據
可以使用select語句查詢分區表中的數據。
SELECT * FROM table_name WHERE partition_column=value;
其中,table_name是表名,partition_column是指定的分區欄位,value是分區欄位的值。
七、Hive往分區表裡面插數據
使用insert into語句向分區表中插入數據。
INSERT INTO TABLE table_name PARTITION (partition_column) SELECT * FROM source_table WHERE condition;
其中,table_name是表名,partition_column是指定的分區欄位,source_table是源表的表名,condition是篩選條件。
八、Hive備份分區表數據
可以使用insert overwrite語句備份分區表數據。
INSERT OVERWRITE TABLE backup_table PARTITION (partition_column) SELECT * FROM table_name WHERE partition_column=value;
其中,backup_table是備份表名,table_name是被備份的表名,partition_column是指定的分區欄位,value是分區欄位的值。
九、Hive建分區表並添加數據
可以使用create table語句創建分區表並插入數據。
CREATE TABLE table_name ( column1 datatype, column2 datatype, ... ) PARTITIONED BY (partition_column datatype); INSERT INTO TABLE table_name PARTITION (partition_column) SELECT * FROM source_table WHERE condition;
其中,table_name是表名,column1,column2,…是欄位名和數據類型,partition_column是分區欄位名和數據類型,source_table是源表的表名,condition是篩選條件。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/194269.html