一、概述
Hive的内置数据类型可以分为两大类:
- 基础数据类型
- 复杂数据类型
二、基本数据类型包括
数据类型 | 所占字节 | 开始支持版本 |
TINYINT | 1byte,-128 ~ 127 | |
SMALLINT | 2byte,-32,768 ~ 32,767 | |
INT | 4byte,-2,147,483,648 ~ 2,147,483,647 | |
BIGINT | 8byte,-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | |
BOOLEAN | ||
FLOAT | 4byte单精度 | |
DOUBLE | 8byte双精度 | |
STRING | ||
BINARY | 从Hive0.8.0开始支持 | |
TIMESTAMP | 从Hive0.8.0开始支持 | |
DECIMAL | 从Hive0.11.0开始支持 | |
CHAR | 从Hive0.13.0开始支持 | |
VARCHAR | 从Hive0.12.0开始支持 | |
DATE | 从Hive0.12.0开始支持 |
三、复杂类型包括
- ARRAY:ARRAY类型是由一系列相同数据类型的元素组成,这些元素可以通过下标来访问。比如有一个ARRAY类型的变量fruits,它是由['apple','orange','mango']组成,那么我们可以通过fruits[1]来访问元素orange,因为ARRAY类型的下标是从0开始的;
- MAP:MAP包含key->value键值对,可以通过key来访问元素。比如”userlist”是一个map类型,其中username是key,password是value;那么我们可以通过userlist['username']来得到这个用户对应的password;
- STRUCT:STRUCT可以包含不同数据类型的元素。这些元素可以通过”点语法”的方式来得到所需要的元素,比如user是一个STRUCT类型,那么可以通过user.address得到这个用户的地址。
- UNION: UNIONTYPE,他是从Hive 0.7.0开始支持的。
四、创建一个包含复杂类型的表
hive> CREATE TABLE emp ( > name STRING, > salary FLOAT, > subordinates ARRAY<STRING>, > deductions MAP<STRING, FLOAT>, > address STRUCT<id:INT,city:STRING> > ) PARTITIONED BY (country STRING, state STRING);
转载至:http://blog.csdn.net/chenxingzhen001/article/details/20901045
相关推荐
7. **Hive函数**:本章涉及Hive内置函数的使用,如统计函数、日期函数、字符串函数等,使用户能编写复杂的查询语句。 8. **Hive数据压缩**:讨论Hive如何进行数据压缩,提高存储效率和查询性能,理解各种压缩算法在...
对于开发者来说,Hive内置函数是其数据分析能力的有力工具,通过这些函数可以方便地对数据进行处理和计算。 在Hive中,关系运算符可用于比较操作,例如等值比较、不等值比较、小于、小于等于、大于、大于等于等。...
Hive 函数是 Hive 中的内置函数,用于对数据进行处理和分析。这些函数可以分为四大类:关系运算符、算术运算符、逻辑运算符和复杂类型函数。 关系运算符用于比较两个值是否相等、不等、或是否包含于某个范围内等。...
5. **转换函数**:如cast(类型转换),可以将一种数据类型转换为另一种,例如将字符串转换为整数。 6. **数学统计函数**:如stddev(标准差)、variance(方差)、percentile(百分位数)等,用于数据的统计分析。...
07.hive内置函数--类型转换cast--数学运算函数.mp4
Hive提供了丰富的内置函数,包括聚合函数(SUM、COUNT、AVG等)、数学函数、字符串函数、日期函数等,以及用户自定义函数(UDF)能力,满足不同类型的计算需求。 【数据仓库分层和建模】 在数据仓库中,通常会采用...
3. **统一的元数据管理**:Hive内置了一个元数据服务,用于存储和管理数据库、表、分区等的元数据信息,这大大简化了数据管理流程。 4. **简单易用**:Hive提供了丰富的数据类型、数据模型以及DDL和DML语句,使得...
Hive提供了多种内置函数用于数据清洗,如NULL值处理、数据类型转换等。预处理是数据分析的重要环节,能确保后续分析的准确性。 7. **容错与稳定性**:由于Hadoop和Hive都是分布式系统,测试数据实战中还需要关注...
总结,Hive SQL开发规范强调了正确选择数据类型、合理设计表结构、优化查询性能以及遵循安全原则的重要性。理解并遵循这些规范,将帮助开发者写出高效、稳定的Hive查询,实现大数据分析的目标。
8. **UDF(User Defined Functions)**:Hive允许用户自定义函数,扩展其内置功能,满足特定的数据处理需求。 9. **性能优化**:Hive支持多种优化策略,如EXPLAIN计划查看查询执行步骤,增加切分键以优化JOIN,选择...
- **数据类型**:Hive支持多种数据类型,包括基本类型(如STRING、INT、FLOAT)和复杂类型(如ARRAY、MAP、STRUCT)。 - **表的设计**:根据业务需求选择合适的分区策略,如时间戳、地理位置等,以便于快速定位...
4. **数据类型和函数**:介绍Hive支持的各种数据类型,以及丰富的内置函数,如统计函数、日期函数、字符串处理函数等。 5. **数据加载与导出**:讲解如何将数据导入Hive表,以及将查询结果导出到其他系统或文件格式...
- 表达式与函数:内置函数包括数学、字符串、日期时间等多种类型,同时支持用户自定义函数(UDF)。 3. Hive自定义函数(UDF): - UDF定义:用户可以编写Java代码实现特定功能的函数,然后在Hive SQL中调用。 -...
2. **数据类型映射**:针对达梦和Hive之间不同的数据类型,工具内置了映射规则,将达梦的数据类型转换为Hive兼容的数据类型。例如,达梦的CHAR、VARCHAR会转换为Hive的STRING,达梦的DATE和TIMESTAMP会转换为Hive的...
5. **JOIN操作**:Hive支持多种JOIN类型,包括INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN,以及自定义JOIN条件。在处理大规模数据时,应谨慎使用JOIN,因为它可能导致内存溢出或性能下降。 6. **分桶和排序**:...
数学函数和操作符主要服务于十进制数据类型的计算,包括加、减、乘、除等基本运算,以及更复杂的数学函数。关系操作符用于比较操作,如等于、不等于、大于、小于等。算术操作符提供了对数值类型的操作能力,包括一元...
* 内置大量用户函数 UDF 来操作时间、字符串和其他的数据挖掘工具,支持用户扩展 UDF 函数来完成内置函数无法实现的操作 * 类 SQL 的查询方式,将 SQL 查询转换为 MapReduce 的 job 在 Hadoop 集群上执行 * 编码跟 ...
UDF的实例化和evaluate方法需要根据输入数据类型进行定义。如果需要创建更通用的UDF,可以使用GenericUDF类。而对于UDAF,需要继承自AbstractGenericUDAFResolver类来实现。同样,创建UDTF需要继承GenericUDTF类。...
4. **Hive SerDe 支持**:Spark 2.3.1 支持 Hive 的序列化和反序列化(SerDe)机制,这意味着用户可以使用 Hive 中定义的复杂数据类型和自定义 SerDes。 5. **Spark SQL 和 HiveQL 混合使用**:用户可以在同一个 ...