1.查看数据库显示数据库;
2.使用数据库使用hivedata;
3.查看表默认创建的是内部表
(表结构根据文件的结构来创建)
hive> create table t1(id int,name string)
> row format delimited
> fields terminated by ',';
4.删除表丢弃表T1;
5.查看表的详细信息,表的内部结构desc t1;
6.导入数据(把文件导入表里)
load data local inpath '/root/student' into table t1;
7.查看表里面的数据select * from t1;
8.统计表里面一共有多少条记录
select count(id) from t1;
指向已经在HDFS中存在的数据,可以创建partition
和内部表在元数据的组织上是相同的,而实际数据的存储则有较大的差异
内部表的创建过程和数据加载过程(这两个过程可以在同一个语句中完成),在加载数据的过程中,实际数据会被移动到数据仓库目录中;之后对数据对访问将会直接在数据仓库目录中完成。删除表时,表中的数据和元数据将会被同时删除
外部表只有一个过程,加载数据和创建表的同时完成,并不会移动到数据仓库目录中,只是与外部数据连理一个链接,当删除一个外部表时,仅删除该链接
创建外部表:内部表里面是真事的数据,外部表实际是与外面的文件建立了一个连接;
9.创建外部表:内部表里面是真实的数据,外部表实际是与外面的文件建立一个连接;
hive> create external table t2(id int,name string)
> row format delimited
> fields terminated by ',';
10.将数据加载到外部表里面
load data local inpath '/root/student' into table t2;
11.分区表:把不同类型的数据放到不同的目录下;
hive> create table t3(id int,name string)
> partitioned by (subid int)
> row format delimited
> fields terminated by ',';
12.向分区表里面存放数据
load data local inpath '/root/student' into table t3 partition (subid = 1);
13.添加分区
load data local inpath '/root/student/' into table t3 partition (subid=2);
14.显示表的分区情况
show partitions t3;
15.显示一个分区里面的文件
select * from t3 where subid = 1;
15.删除表中的部分数据
dfs -rm /user/hive/warehouse/hivebase.db/t2/student ;