Hive命令详解:创建、修改与数据操作

需积分: 23 13 下载量 152 浏览量 更新于2024-09-12 收藏 6KB TXT 举报
本文档是关于Hive常用命令的整理,包含了创建表、管理表结构、数据加载以及基本的SQL查询等操作。 在Hive中,你可以使用以下命令来管理和操作数据表: 1. 创建表: 使用`CREATE TABLE`语句创建新表。例如: ``` hive> CREATETABLE pokes (foo INT, bar STRING); ``` 这将创建一个名为`pokes`的表,包含两个字段`foo`(整型)和`bar`(字符串)。 2. 创建带分区的表: 可以通过`PARTITIONED BY`创建分区表,如: ``` hive> CREATETABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING); ``` `ds`是日期分区字段,用于存储特定日期的数据。 3. 显示所有表: 使用`SHOW TABLES`命令查看当前数据库中的所有表: ``` hive> SHOW TABLES; ``` 4. 按正则表达式显示表: 如果想要按特定模式显示表,可以使用正则表达式: ``` hive> SHOW TABLES '.*s'; ``` 5. 添加列: 添加新列到已存在的表: ``` hive> ALTERTABLE pokes ADDCOLUMNS (new_col INT); ``` 6. 添加带注释的列: 添加新列的同时,可以为列添加注释: ``` hive> ALTERTABLE invites ADDCOLUMNS (new_col2 INT COMMENT 'acomment'); ``` 7. 更改表名: 使用`ALTER TABLE`重命名表: ``` hive> ALTERTABLE events RENAME TO 3koobecaf; ``` 8. 删除列: 删除列需要先删除表再重建,或者使用`REPLACE COLUMNS`: ``` hive> DROPTABLE pokes; alter table_user_bill_03 replace columns(i_145 string); ``` 9. 加载数据: - 从本地文件系统加载数据到表中: ``` hive> LOAD DATA LOCAL INPATH './examples/files/kv1.txt' OVERWRITE INTO TABLE pokes; ``` - 分区加载数据: ``` hive> LOAD DATA LOCAL INPATH './examples/files/kv2.txt' OVERWRITE INTO TABLE invites PARTITION (ds='2008-08-15'); ``` - 从HDFS加载数据: ``` hive> LOAD DATA INPATH '/user/myname/kv2.txt' OVERWRITE INTO TABLE invites PARTITION (ds='2008-08-15'); ``` 10. SQL查询: - 基本的查询操作,如按字段查询: ``` hive> SELECT a.foo FROM invites a WHERE a.ds='<DATE>'; ``` - 将查询结果输出到目录: ``` hive> INSERT OVERWRITE DIRECTORY '<DIRECTORY_PATH>' SELECT * FROM table; ``` 这些是Hive操作中最基础的一部分,涵盖了创建、管理表和加载数据的基本流程。在实际使用中,Hive还支持更复杂的查询、聚合、JOIN等操作,以满足大数据处理的需求。