Hive的数据类型 和建表模型

本文介绍了Hive中的数据类型,如TINYINT、SMALLINT、INT、BIGINT、BOOLEAN、FLOAT、DOUBLE、STRING、TIMESTAMP、BINARY等,并详细讲解了建表模型,包括内部表和外部表的创建,以及列定义、注释、分区、分桶、行格式和数据存储位置等关键要素。示例展示了如何创建一个外部表,指定了列数据类型、分隔符和HDFS存储位置。
摘要由CSDN通过智能技术生成

数据类型 为常用
TINYINT 1byte有符号整数 20
SMALLINT 2byte有符号整数 20
INT ** 有符号整数 20
BIGINT
8byte有符号整数 20
BOOLEAN 布尔类型,true或者false TRUE FALSE
FLOAT 单精度浮点数 3.14159
DOUBLE ** 双精度浮点数 3.14159
STRING ** 字符系列。可以指定字符集。可以使用单引号或者双引号。 ‘now is the time’ “for all good men”
TIMESTAMP **
BINARY
还有一些其他数据类型比如arra。。。

建表[]表示可以省略的部分:

//此行指出所建表为内部或者外部表,还有表名,不存在才会创建
CREATE [EXTERNAL 外部表] TABLE [IF NOT EXISTS 是否存在] table_name
//此行指出:列名 其数据类型 【注释】 ,…表示可以写多个
[(col_name data_type [COMMENT col_comment], …)]
//表注释,不支持汉字
[COMMENT table_comment]
//分区 通过 字段 数据类型 【注释】
[PARTITIONED BY (col_name data_type [COMMENT col_comment], …)]
//分桶 通过 字段 。。。
[CLUSTERED BY (col_name, col_name, …)
//以字段排序 升序|降序
[SORTED BY (col_name [ASC|DESC], …)] INTO num_buckets BUCKETS]
//指定行数据以什么做的分隔符
[ROW FORMAT row_format] row form

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hive支持复杂的数据类型,用于存储不同类型和结构的数据。建表时使用这些复杂数据类型可以帮助组织和管理数据。以下是一些主要的复杂数据类型: 1. **Struct(结构体)**: 它定义了一个带有序列字段的数据类型,每个字段有自己的名称和类型。例如: ``` CREATE TABLE my_table (struct_field struct<field1: string, field2: int>); ``` 2. **Map(映射)**: 存储键值对的数据结构,键和值可以是任意数据类型。例如: ``` CREATE TABLE my_map_table (map_field map<string, string>); ``` 3. **Array(数组)**: 存储同类型的元素序列。比如: ``` CREATE TABLE my_array_table (array_field array<int>); ``` 4. **Union类型(联合类型)**: 可以包含多个类型之一,如: ``` CREATE TABLE my_union_table (union_field uniontype(string, int)); ``` 5. **Decimal和Double(精确数字和浮点数)**: 用于存储带有更高精度的数字,与标准的int和double不同。 ``` CREATE TABLE my_decimal_table (decimal_field decimal(10,2), double_field double); ``` 6. **Timestamp和Date(日期和时间)**: 专门用于存储日期和时间信息。 ``` CREATE TABLE my_timestamp_table (timestamp_field timestamp, date_field date); ``` 7. **Binary和varbinary(二进制和可变长度二进制)**: 存储二进制数据。 ``` CREATE TABLE my_binary_table (binary_field binary, varbinary_field varbinary); ``` 使用这些数据类型时,要根据实际业务需求和数据特性来选择和设计表结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值