美文网首页大数据学习之路
Hive常用的SQL命令操作

Hive常用的SQL命令操作

作者: 大数据Zone | 来源:发表于2018-10-01 22:29 被阅读5次

转自https://blog.csdn.net/wisgood/article/details/17186599

1、表相关SQL操作

1.1、创建内部表

CREATE TABLE table_name (name string);

1.2、创建内部表,并指定分区字段

CREATE TABLE table_name (name string) PARTITIONED BY (dt string);

1.3、创建内部表,并指定分隔符

CREATE TABLE table_name(name string) PARTITIONED BY (dt string ) ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
COLLECTION ITEMS TERMINATED BY ':'
MAP KEYS TERMINATED BY ',' ;

1.4 创建外部表,指定分区,带分隔符

CREATE EXTERNAL TABLE outer_table_with_partition(name string) PARTITIONED BY (dt string ) ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
COLLECTION ITEMS TERMINATED BY ':'
MAP KEYS TERMINATED BY ','
location '/home/hive/table_name/' ;

1.5 创建内部表,并判断是否内布表是否已经存在

CREATE TABLE IF NOT EXISTS table_name (name string);
加了 IF NOT EXISTS ,sql执行的结果总是成功;如果没加,表存在的情况下会返回失败。

1.6 显示所有表

SHOW TABLES;

1.7 显示部分表

show tables like "*30d" ; (显示后缀带30d的表名)

1.8 表中添加一列

ALTER TABLE table_name ADD COLUMNS (new_col INT); 可以一次增加多个列

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

ALTER TABLE table_name ADD COLUMNS (new_col2 INT COMMENT 'a comment');

1.10 更改表名

ALTER TABLE table_name RENAME TO 3koobecaf;

1.11 删除表

DROP TABLE pokes;

1.12 修改原来的列

alter table table_name change c1_old_name c1_new_name string //修改hive列c1_old_name,列名改为c1_new_name,同时修改字段类型。

1.13 删除列

ALTER TABLE table_name REPLACE COLUMNS (c1_new string ,c2_new string )
注意:执行完上述sql后,新表的结构是(c1_new string ,c2_new string )。

1.14 修改表存储位置

alter table table_name set location 'viewfs://nsX/user/hive/warehouse/raw.db/weixin/sogou_com/weixin_sogou_com_error'

1.15 修改表的字段分隔符

alter table table_name SET SERDEPROPERTIES ('field.delim' = '\t');
alter table table_name SET SERDEPROPERTIES ('colelction.delim' = '\t');
alter table table_name SET SERDEPROPERTIES ('mapkey.delim' = '\t');
alter table table_name SET SERDEPROPERTIES ('line.delim' = '\t');
注意:如果一个表带有分区,修改了表的schema后,只会对后续插入的分区有影响。之前的分区还是原来的列。因为hive把每个分区的schema信息单独记录在数据库了。所以需要把原来的分区全部drop掉,重新add。

1.16 将本地文件中的数据加载到表中

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

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

LOAD DATA LOCAL INPATH './examples/files/kv2.txt' OVERWRITE INTO TABLE table_name PARTITION (ds='2008-08-15');表必须带分区列。

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

LOAD DATA INPATH '/user/myname/kv2.txt' OVERWRITE INTO TABLE invites 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.

1.19 查看表的描述

desc formatted table_name 或者 desc table_name

相关文章

  • Hive常用的SQL命令操作

    转自https://blog.csdn.net/wisgood/article/details/17186599 ...

  • Hive常用的SQL命令操作

    Hive提供了很多的函数,可以在命令行下show functions罗列所有的函数,你会发现这些函数名与mysql...

  • Hive常用的SQL命令操作

    Hive提供了很多的函数,可以在命令行下show functions罗列所有的函数,你会发现这些函数名与mysql...

  • Hive sql常见操作

    基本sql操作 hive表操作 分区操作 Hive内置函数 (1)数学函数 常用的数学函数都有:round、flo...

  • Hive常用交互命令

    1 Hive 常用交互命令 1.“-e”不进入 hive 的交互窗口执行 sql 语句bin/hive -e "s...

  • HIVE——常用sql命令

    库 创建库 查看库 使用库 删除库 表 查看表 创建分区表 查看分区 插入分区数据 查看分区数据

  • 记录一次 hadoop+tornado 简单实践(二) -- h

    hive 数据库操作 hive 支持大部分的 sql 语法,因此熟悉 sql 可以很方便的上手 hive 操作 h...

  • [译]Hive学习指南(二)

    Hive SQL的能力 Hive's SQL提供了基本SQL操作。这些操作作用于表和分区,具有以下能力: 可使用W...

  • SQL常用命令书目录

    SQL常用命令之单表查询 SQL常用命令之多表查询 SQL常用命令之模糊查找 SQL常用命令之空值查询 SQL常用...

  • Hive 1.1.3 - 常用sql操作

    1、查看数据库 2、使用数据库 3、查看所有的表 4、删除非空数据库 5、建表 5.1 建一个新表,并且以’\t...

网友评论

    本文标题:Hive常用的SQL命令操作

    本文链接:https://www.haomeiwen.com/subject/gqfooftx.html