hive常用sql命令

创建表

hive> CREATE TABLE A (a INT, b STRING); 

创建表并创建索引字段ds

hive> CREATE TABLE A (a INT, b STRING) PARTITIONED BY (ds STRING); 

显示所有表

hive> SHOW TABLES;

按正条件(正则表达式)显示表,

hive> SHOW TABLES '.*s';

表添加一列 

hive> ALTER TABLE B ADD COLUMNS (new_col INT);

添加一列并增加列字段注释

hive> ALTER TABLE B ADD COLUMNS (new_col2 INT COMMENT 'a comment');

更改表名

hive> ALTER TABLE A RENAME TO B

删除列

hive> DROP TABLE A;

元数据存储

将文件中的数据加载到表中

hive> LOAD DATA LOCAL INPATH './examples/files/kv1.txt' OVERWRITE INTO TABLE A

加载本地数据,同时给定分区信息

hive> LOAD DATA LOCAL INPATH './examples/files/kv2.txt' OVERWRITE INTO TABLE A PARTITION (ds='2008-08-15');

加载DFS数据 ,同时给定分区信息

hive> LOAD DATA INPATH '/user/myname/kv2.txt' OVERWRITE INTO TABLE A PARTITION (ds='2008-08-15');

The above command will load data from an HDFS file/directory to the table. Note that loading data from HDFS will result in moving the file/directory. As a result, the operation is almost instantaneous. 

SQL 操作

按先件查询

hive> SELECT a.foo FROM invites a WHERE a.ds='';

将查询数据输出至目录

hive> INSERT OVERWRITE DIRECTORY '/tmp/hdfs_out' SELECT a.* FROM invites a WHERE a.ds='';

将查询结果输出至本地目录

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

你可能感兴趣的:(大数据)