hive指令

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 ;

猜你喜欢

转载自blog.csdn.net/abcdefghwelcome/article/details/84945543
今日推荐