Update Hive数据类型和文件格式.md

This commit is contained in:
heibaiying 2019-04-23 22:15:21 +08:00 committed by GitHub
parent c6eb4bd069
commit 28c1d194d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,6 +5,7 @@
<a href="#二文件格式">二、文件格式</a><br/>
<a href="#三存储格式">三、存储格式</a><br/>
</nav>
## 一、数据类型
### 1.1 基本数据类型
@ -18,7 +19,7 @@ Hive表中的列支持以下基本数据类型
| **Floating point numbers浮点型** | FLOAT— 单精度浮点型 <br/>DOUBLE—双精度浮点型 |
| **Fixed point numbers定点数** | DECIMAL—用户自定义精度定点数比如2.43.68 |
| **String types字符串** | STRING—指定字符集的字符序列<br/> VARCHAR—具有最大长度限制的字符序列 <br/>CHAR—固定长度的字符序列 |
| **Date and time types(日期时间类型)** | TIMESTAMP — 时间戳 <br/>TIMESTAMP WITH LOCAL TIME ZONE — 时间戳,纳秒精度 DATE—日期类型 |
| **Date and time types<br/>(日期时间类型)** | TIMESTAMP — 时间戳 <br/>TIMESTAMP WITH LOCAL TIME ZONE — 时间戳,纳秒精度 <br/>DATE—日期类型 |
| **Binary types二进制类型** | BINARY—字节序列 |
>TIMESTAMP 和 TIMESTAMP WITH LOCAL TIME ZONE 的区别:
@ -69,10 +70,10 @@ CREATE TABLE students(
| 分隔符 | 描述 |
| ----------- | ------------------------------------------------------------ |
| \n | 对于文本文件来说,每行是一条记录,所以可以使用换行符来分割记录 |
| ^A (Ctrl+A) | 分割字段(列)在CREATE TABLE语句中也可以使用八进制编码 `\001` 来表示 |
| ^B | 用于分割 ARRAY 或者 STRUCT 中的元素,或者用于 MAP 中键值对之间的分割,<br/>在CREATE TABLE语句中也可以使用八进制编码`\002` 表示 |
| ^C | 用于 MAP 中键和值之间的分割在CREATE TABLE语句中也可以使用八进制编码`\003` 表示 |
| **\n** | 对于文本文件来说,每行是一条记录,所以可以使用换行符来分割记录 |
| **^A (Ctrl+A)** | 分割字段(列)在CREATE TABLE语句中也可以使用八进制编码 `\001` 来表示 |
| **^B** | 用于分割 ARRAY 或者 STRUCT 中的元素,或者用于 MAP 中键值对之间的分割,<br/>在CREATE TABLE语句中也可以使用八进制编码`\002` 表示 |
| **^C** | 用于 MAP 中键和值之间的分割在CREATE TABLE语句中也可以使用八进制编码`\003` 表示 |
使用示例如下:
@ -137,4 +138,4 @@ CREATE TABLE page_view(viewTime INT, userid BIGINT)
## 参考文档
1. [LanguageManual DDL](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL)
2. [LanguageManual Types](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types)
2. [LanguageManual Types](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types)