一、系统查询
1、查询数据库
hive> show databases;
2、查询表
hive> show tables;
3、获取表的详细信息
hive> desc formatted my_table;
4、获取表分区的详细信息
hive> desc formatted my_table(pt='20140804');
二、DLL
CREATE TABLE login(
userid BIGINT,
ip STRING,
time BIGINT)
PARTITIONED BY(dt STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
<em></em>LINES TERMINATED BY '\n';
STORED AS TEXTFILE;
PARTITIONED BY :指定分区,可选;
ROW FORMAT DELIMITED FIELDS TERMINATED BY:指定字段间的分隔符,可选;
LINES TERMINATED BY:指定行分隔符,可选(hive不支持“\n”以外的行分隔符,所以通常不需要显示指定)
STORED AS TEXTFIL:文件存储格式为文本,可选("TEXTFILE"为默认格式);
2、清空表
hive> truncate table userinfo;
3、删除表
hive> drop table userinfo;
4,加载数据
hive的数据只能通过文本加载或者其他表的数据载入,如果需要覆盖原有的数据,则使用overwrit\,如下
hive> load data local inpath 'ins_login.txt' overwrite into table login;
(1) 本地文件系统导入数据到Hive表
hive> load data local inpath 'ins_login.txt' into table login;
(2) HDFS导入数据到Hive表
hive> load data inpath '/hive/warehouse/add.txt' into table login;
(3) 其他表数据导入数据到Hive表
hive> insert into table test select id, name, tel from wyp;
(4)将查询结果直接创建表
create table test4
as
select id, name, tel
from wyp;
三、DML
hive> select id, name, tel from wyp;
6,更新
hive> insert overwrite table A select * from TMP_A where p='one'
7,删除
hive> insert overwrite table A select * from TMP_A where 1=0;