diff --git a/README.md b/README.md index 468e780..2b14c53 100644 --- a/README.md +++ b/README.md @@ -54,11 +54,18 @@ 3. [集群资源管理器——YARN](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Hadoop-YARN.md) 4. [Hadoop单机伪集群环境搭建](https://github.com/heibaiying/BigData-Notes/blob/master/notes/installation/hadoop%E5%8D%95%E6%9C%BA%E7%89%88%E6%9C%AC%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA.md) 5. [HDFS常用Shell命令](https://github.com/heibaiying/BigData-Notes/blob/master/notes/HDFS常用Shell命令.md) +6. HDFS Java API详解 ## 二、Hive 1. [数据仓库Hive](https://github.com/heibaiying/BigData-Notes/blob/master/notes/Hive.md) 2. [Linux环境下Hive的安装部署](https://github.com/heibaiying/BigData-Notes/blob/master/notes/installation/Linux%E7%8E%AF%E5%A2%83%E4%B8%8BHive%E7%9A%84%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2.md) +3. Hive shell基本使用 +4. Hive 数据类型和文件格式 +5. Hive 常用 DDL操作 +6. Hive 数据查询 +7. Hive 视图和索引 +8. Hive 模式设计 ## 三、Spark diff --git a/notes/Hive数据类型和文件格式.md b/notes/Hive数据类型和文件格式.md new file mode 100644 index 0000000..2dc7272 --- /dev/null +++ b/notes/Hive数据类型和文件格式.md @@ -0,0 +1,94 @@ +# Hive数据类型和文件格式 + + + + +## 一、数据类型 + +### 1.1 基本数据类型 + +Hive表中的列支持以下基本数据类型: + +- **Integers(整型)** + - TINYINT—1字节的有符号整数 + - SMALLINT—2字节的有符号整数 + - INT—4字节的有符号整数 + - BIGINT—8字节的有符号整数 +- **Boolean(布尔型)** + - BOOLEAN—TRUE/FALSE +- **Floating point numbers(浮点型)** + - FLOAT— 单精度浮点型 + - DOUBLE—双精度浮点型 +- **Fixed point numbers(定点数)** + - DECIMAL—用户自定义精度定点数,比如2.4,3.68 +- **String types(字符串)** + - STRING—指定字符集的字符序列 + - VARCHAR—具有最大长度限制的字符序列 + - CHAR—固定长度的字符序列 +- **Date and time types(日期时间类型)** + - TIMESTAMP — 时间戳 + - TIMESTAMP WITH LOCAL TIME ZONE — 时间戳,纳秒精度 + - DATE—日期类型 +- **Binary types(二进制类型)** + - BINARY—字节序列 + +>TIMESTAMP 和 TIMESTAMP WITH LOCAL TIME ZONE 的区别: +> +>TIMESTAMP WITH LOCAL TIME ZONE:用户提交时间给数据库时,该类型会转换成数据库的时区来保存。查询时则按照查询客户端的不同,转换为查询客户端所在的时区的时间。 +> +>TIMESTAMP :提交什么时间就保存什么时间,查询时也不做任何转换。 + +### 1.2 隐式转换 + +Hive中基本数据类型遵循以下的层次结构,按照这个层次结构,子类型到祖先类型允许隐式转换。例如INT类型的数据允许隐式转换为BIGINT类型。额外注意的是:按照类型层次结构允许将STRING类型隐式转换为DOUBLE类型。 + +