HQL与传统数据库操作:思维导图解析

需积分: 0 0 下载量 89 浏览量 更新于2024-08-03 收藏 1.72MB PDF 举报
本篇笔记主要涵盖了传统数据库技术中的关键知识点,以Hive为例进行讲解。Hive是一种基于Hadoop的数据仓库工具,它提供了类似于SQL的查询语言,使得非技术人员也能方便地处理大数据。以下是本文档中详细涵盖的内容: 1. HQL(Hive Query Language): HQL是Hive的主要操作语言,它的语法与MySQL查询语言相似,用户可以通过HQL来执行数据查询、数据加载和管理等任务。 2. 数据类型: - 基础类型:包括INT(整数)、Bigint(大整数)、Double(双精度浮点数)、String(字符串)等。 - 复杂类型:Hive支持结构化数据,如`struct`(结构体)、`map`(映射,键值对)、`array`(数组)等。 - 类型转换:Hive允许隐式类型转换,例如所有整型可以转换为更大的范围,而`cast`函数则用于强制类型转换,如`cast('1' as int)`用于将字符串转换为整数。 3. 表格定义: - `rowformat`参数用于指定记录的格式,比如`delimitedfieldsterminatedby`用于指定字段之间的分隔符,`arrayitemterminatedby`和`mapkeyterminatedby`分别用于数组元素和映射键的分隔符。 - 示例中,`stu.txt`表使用逗号分隔字段,`kk`表使用制表符分隔,并且结构体、数组和映射元素间的关联通过特定字符(这里是下划线 `_`)表示。 4. 数据加载: - `loaddata`命令可以用来将本地文件上传到Hive表中,例如`loaddatalocalinpath`用于本地文件加载,而`hadoopfs-put`用于HDFS文件系统上的文件上传。 - `location`参数用于指定数据存储的HDFS路径。 5. 查询与插入: - `insertinto`语句用于向表中插入数据,`overwrite`选项用于覆盖原有数据,`select * from`用于选择源数据。 - 在创建表时可以直接加载数据,如`createtable`语句后跟一个SQL查询,如`select id from hh`。 6. 分区表: Hive支持分区表,这有助于管理和查询大量数据,如`importtable`命令中通过`partition(month='201709')`来导入具有特定月份分区的数据。 总结起来,这篇传统数据库笔记以Hive为例,详细介绍了其数据类型、表结构定义、数据加载和管理、查询以及分区表的相关操作,这些知识点对于理解和使用Hive进行大数据处理非常关键。