Hive用户指南:数据类型与操作实例解析
版权申诉
61 浏览量
更新于2024-07-07
收藏 69KB PDF 举报
“Hive用户指南(Hive_user_guide)_中文版.pdf”
Hive是一款基于Hadoop的数据仓库工具,它允许使用SQL类语言(HQL,Hive Query Language)对大规模数据进行分析处理。本指南主要介绍了Hive的一些基础概念和操作,包括数据类型、表的创建以及数据的加载。
在Hive中,数据文件有不同的存储格式,如SEQUENCEFILE、TEXTFILE和RCFILE。SEQUENCEFILE是一种二进制格式,适合高效存储和检索;TEXTFILE是最基础的文本格式,每个字段由指定的分隔符分开;RCFILE(Record Columnar File Format)是列式存储格式,从Hive 0.6.0版本开始支持,适合数据分析场景。
Hive支持多种基本数据类型,例如:
- BIGINT:用于存储大型整数,常用于状态、选项、类型或数量等字段。
- DOUBLE:用于存储货币相关的数值,如费用、价格或投标价。
- STRING:通用类型,大部分非数字字段,如ID和日期时间,通常使用STRING类型。
创建表时,可以通过`ROW FORMAT DELIMITED FIELDS TERMINATED BY`指定字段间的分隔符。例如,如果数据文件使用ASCII码5作为字段分隔符,创建表的语句如下:
```sql
CREATE TABLE xiaojun (id INT, cont STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\005' STORED AS TEXTFILE;
```
之后,可以使用`LOAD DATA INPATH`命令将数据加载到表中,如:
```sql
LOAD DATA INPATH '/user/admin/xiaojun/a.txt' OVERWRITE INTO TABLE xiaojun;
```
`OVERWRITE`关键字表示替换现有数据,若想追加数据,可以省略此关键字。
在Hadoop文件系统中,可以使用`hadoop fs -ls`命令查看文件信息。
创建外部表与普通表的主要区别在于:
- 外部表仅指定数据存储位置,但不移动数据。创建外部表时,需使用`CREATE EXTERNAL TABLE`并指定`LOCATION`参数,例如:
```sql
CREATE EXTERNAL TABLE xiaojun (id INT, cont STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\005' LOCATION '/user/admin/xiaojun/';
```
外部表不会在删除时自动删除数据,而是保留源数据,仅删除元数据,因此在处理用户提供的数据或需要独立管理数据存储时使用外部表更为合适。
此外,查询表的位置可以使用`SELECT LOCATION`,例如:
```sql
SELECT LOCATION FROM tbls a, sds b WHERE a.sd_id = b.sd_id AND a.table_name = 'xiaojun';
```
以上内容涵盖了Hive用户指南中的部分基础知识,包括数据类型的选择、表的创建和数据加载,以及外部表的概念。在实际使用中,Hive还提供了更多的功能,如分区、桶、视图、JOIN操作等,这些在深入学习Hive时会进一步了解。
2020-02-19 上传
2016-10-07 上传
2023-10-12 上传
2014-11-14 上传
2010-07-16 上传
214 浏览量
2014-07-08 上传
点击了解资源详情
点击了解资源详情
屈子1
- 粉丝: 18
- 资源: 7万+
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析