Hive SQL操作指南:创建、修改与查询数据库表
4星 · 超过85%的资源 需积分: 49 192 浏览量
更新于2024-09-18
2
收藏 5KB TXT 举报
"HIVE-SQL操作语句涵盖了在Hadoop数据库中使用Hive进行数据管理的基本操作。Hive是一个基于Hadoop的数据仓库工具,它允许使用类SQL(HiveQL)语言来处理存储在Hadoop分布式文件系统(HDFS)中的大规模数据集。以下是Hive SQL操作的关键知识点:
1. 创建表:
- `CREATE TABLE pokes(foo INT, bar STRING);` 这个命令用于创建一个名为`pokes`的非分区表,包含两个字段`foo`(整型)和`bar`(字符串型)。
- `CREATE TABLE invites(foo INT, bar STRING) PARTITIONED BY (ds STRING);` 创建一个分区表`invites`,除了`foo`和`bar`字段外,还有额外的分区字段`ds`(日期型)。
2. 查看表:
- `SHOW TABLES;` 显示当前数据库的所有表名。
- `SHOW TABLES '.*s';` 使用通配符显示符合特定模式的表名。
3. 修改表结构:
- `ALTER TABLE pokes ADD COLUMNS (new_col INT);` 在`pokes`表中添加一个新的整型字段`new_col`。
- `ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'acomment');` 在`invites`表中添加一个带有注释的新整型字段`new_col2`。
4. 重命名和删除表:
- `ALTER TABLE events RENAME TO 3koobecaf;` 将`events`表重命名为`3koobecaf`。
- `DROP TABLE pokes;` 删除名为`pokes`的表,数据将永久丢失。
5. 加载数据:
- `LOAD DATA LOCAL INPATH './examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;` 从本地文件系统加载数据到`pokes`表中,覆盖原有数据。
- `LOAD DATA LOCAL INPATH './examples/files/kv2.txt' OVERWRITE INTO TABLE invites PARTITION(ds='2008-08-15');` 加载数据到`invites`表的特定分区,覆盖原有数据。
- `LOAD DATA INPATH '/user/myname/kv2.txt' OVERWRITE INTO TABLE invites PARTITION(ds='2008-08-15');` 从HDFS加载数据,与上一条命令类似,但不涉及本地文件系统。
6. 查询数据:
- `SELECT a.foo FROM invites a WHERE a.ds='<DATE>';` 从`invites`表中查询`ds`字段等于特定日期的`foo`值。
- `INSERT OVERWRITE DIRECTORY '/tmp/hdfs_out' SELECT a.* FROM invites a WHERE a.ds='<DATE>';` 将查询结果写入HDFS目录`/tmp/hdfs_out`。
- `INSERT OVERWRITE LOCAL DIRECTORY '/tmp'` 通常与`SELECT`语句结合使用,将查询结果写入本地文件系统。
这些基本操作构成了Hive SQL的核心,使得数据分析师和开发人员可以方便地对大数据集进行存储、管理和分析,而无需深入了解底层的Hadoop生态系统。通过Hive,用户可以利用SQL的熟悉语法,处理海量数据,提高工作效率。
2018-11-25 上传
2015-08-05 上传
2023-06-15 上传
2023-08-17 上传
2020-03-13 上传
2023-07-12 上传
2023-07-12 上传
liulong_0702
- 粉丝: 0
- 资源: 7
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章