(读书笔记)Hive一点一滴系列之数据类型和文件格式

6 篇文章 0 订阅
3 篇文章 0 订阅

一、基本数据类型

类型         长度

tinyint        1b

smalint       2b

int              4b

bigint         8b

Boolean     布尔

float           单精度浮点数

double       双精度浮点数

string         字符序列

timestamp  整数,浮点数和字符串 (UTC)

binary        字节数组

 

注意:hive不支持“字符数组”。优化考虑因为定长的记录更容易进行建立索引,数据扫描。 

hive 根据不同字段间的分隔符来对其进行判断。

 

类型转换:s是一个字符串类型,其值为数值 cast(s as int)。

二、集合数据类型

数据类型   描述   示例

struct  类似对象 struct(’小明‘,’小红‘)

map    一组键值对 map(’key‘,’value‘,’key1‘,’value1‘)

array  数组是一组相同类型和名称的变量的集合 array(’小明‘,’小红‘)

三、文本文件数据编码

分隔符  描述

\n   换行符

^A 分隔列

^B 分隔array或struct

^C 分隔MAP

 

create table tablename(
       first int,
       second int,
       third array<string>,
       fouth map<string,string>,
       five struct<one:string,two:string>
)
row format delimited
fields terminated by '\001'
collection items terminate by '\002'
map keys terminated by '\003'
lines terminated by '\n'
stored as textfile;

 

字符\001是八进制A

字符\002是八进制B

字符\003是八进制C

定义一个表数据用逗号进行分隔的表

 

create table test
(
first int,
second int,
third int
)
row format delimited
fields terminated by ',';

 四、读时模式

 

如果加载数据少于对应的模式时,那么默认null进行处理。

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值