第一课:hive的入门使用

常常会有这样一种使用场景,由于工作需要,我们突然会接触一门新的技术。比如,现在我们碰到的这门技术,hive.  hive其实是一种数据仓库,我们可以使用通用的SQL语法去使用它。现在,我将去hive的官网上学习并初步使用它。当然,我的公司已经搭建了支持hive的生产坏境。我现在要做的事情就是要熟练的使用它。

我们可以进入命令行使用SQL;

在安装了hive的Linux操作系统输入’hive‘命令,进入hive命令行。

1.DDL操作之建表:

建表的命令是create

新建pokes表:create table pokes(foo int,bar string);  --sql命令以';'结尾;

新建invites表并附带分区ds:create table invites(foo int,bar string) partitioned by (ds String);

查看我们新建的表:

show tables;

查看以'es'结尾的表名:show tables  '.*es';

使用describe invites;   --shows the list of columns.

2.DDL操作之修改表结构

修改表名:ALTER TABLE invites RENAME TO 3koobecaf;

增加列:ALTER TABLE pokes ADD COLUMNS (new_col INT);

增加列的注释:ALTER TABLE pokes ADD COLUMNS (new_col2 INT COMMENT  'a comment');

替换列(重新定义表结构):ALTER TABLE pokes REPLACE COLUMNS (foo INT COMMENT 'only keep the first column');   -- 慎用!!!

3.DDL操作之删除表

drop table pokes;

drop table invites;

4.DML操作之向表中导入数据

LOAD DATA LOCAL INPATH './examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;

LOAD DATA INPATH '/user/myname/kv2.txt' OVERWRITE INTO TABLE invites PARTITION (ds='2008-08-15');   --向建立了分区的表load数据


//向HDFS插入数据

INSERT OVERWRITE DIRECTORY '/tmp/hdfs_out' SELECT a.* FROM invites a WHERE a.ds='2008-08-15';

//向本地文件系统插入数据

INSERT OVERWRITE LOCAL DIRECTORY '/tmp/local_out' SELECT a.* FROM pokes a;

//向表中插入数据

NSERT OVERWRITE TABLE events SELECT a.* FROM profiles a;

你可能感兴趣的:(第一课:hive的入门使用)