和我们熟悉的关系型数据库不一样,Hive现在还不支持在insert语句里面直接给出一组记录的文字形式,也就是说,Hive并不支持INSERT INTO …. VALUES形式的语句。
Drop Partitions(删除分区)
alter table ol_power_product_line_dept_1_dim drop partition(dt='${date_90}');#删除分区
dfs -rm -r -f /ol/ol_power_product_line_dept_1_dim/dt=${date_90}; #删除外部文件
Rename Table
ALTER TABLE table_name RENAME TO new_table_name
Change Column
ALTER TABLE table_name Change [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment]
[FIRST|AFTER column_name]
这个命令可以允许改变列名、数据类型、注释、列位置或者它们的任意组合
eg:
Add/Replace Columns
ALTER TABLE table_name ADD|REPLACE COLUMNS
(col_name data_type [COMMENT col_comment], ...)
ADD是代表新增一字段,字段位置在所有列后面(partition列前);REPLACE则是表示替换表中所有字段。
Create View
CREATE VIEW [IF NOT EXISTS] view_name [ (column_name [COMMENT column_comment], ...) ]
[COMMENT view_comment]
[TBLPROPERTIES (property_name = property_value, ...)]
AS SELECT ...
DROP
删除一个内部表的同时会同时删除表的元数据和数据。删除一个外部表,只删除元数据而保留数据。DROP TABLE [IF EXISTS] table_name;
hive (default)> drop table tmp_ol_power_follower_saler_orgnization_1_dim_1;
Show
查看表名:
show tables; #查看表 记得先进入库 use mydb
show tables in mydb; #在不同的数据库查看别的数据库内的表
查看表名,部分匹配 用通配符
SHOW TABLES 'page.*';
SHOW TABLES '.*view';
查看某表的所有Partition,如果没有就报错:
SHOW PARTITIONS page_view;
查看表结构
DESCRIBE EXTENDED mydb.employees ; #查看mydb数据库中employees表的属性
DESCRIBE mydb.employees.salary; #查看 列salary的描述属性
查看分区内容
SELECT a.foo FROM invites a WHERE a.ds='2008-08-15';
查看有限行内容,同Greenplum,用limit关键词
SELECT a.foo FROM invites a limit 3;
查看表分区定义
DESCRIBE EXTENDED page_view PARTITION (ds='2008-08-08');