Hive数据类型和文件格式

Hive数据类型和文件格式

Hive 支持关系数据库中的大多数基本的数据类型,同时也支持在关系数据库中很少出现的三种 数据集合 类型。
和大多数数据库相比,Hive具有一个独特的功能,就是对数据在文件中的编码方式具有相当大的灵活性,大多数据库对数据具有完全控制,也包括
对数据什么周期的控制,Hive将这些方面的控制权交给用户,以便更加容易的使用各种各样的工具来管理和处理数据。

基本数据类型

类型 描述 示例
TINYINT 1个字节8位有符号整数 1
SMALLINT 2字节16位有符号整数 1
INT 4字节32位有符号整数 1
BIGINT 8字节64位有符号整数 1
FLOAT 4字节32位单精度浮点数 1.0
DOUBLE 8字节64位双精度浮点数 1.0
BOOLEAN true,false true
STRING 字符串 ‘hao’
TIMESTAMP 整型,浮点或字符串 1327882394
BINARY 字节数组 -

所有这些数据类型都是对Java中的接口实现,因此这些类型具体行为细节和Java中对应的类型完全一致.

集合数据类型

类型 描述 示例
ARRAY 一组有序字段。字段的类型必须相同 Array(1,2)
MAP 一组无序的键/值对。键的类型必须是原子的,值可以是任何类型,同一个映射的键的类型必须相同,值得类型也必须相同 map('a',1,'b',2)
STRUCT 一组命名的字段。字段类型可以不同 Struct(‘a’,1,1,0)

HDFS文本文件数据编码

Hive中默认记录和字段分隔符

分隔符 描述
\n 对于文本文件来说,每行都是一条记录,因此换行符可以分割记录
^A(Ctrl+A) 用于分隔字段(列),在CREATE TABLE 语句中可以使用八进制编码\001表示
^B 用于分隔ARRAY或者STRUCT中的元素,或用于MAP中键值对之间的分隔,在CREATE TABLE语句中可以使用八进制\002表示
^C 用于MAP中键和值之间的分离。在CREATE TABLE中可以使用八进制编码\003表示
综合示例:
CREATE TABLE IF NOT EXISTS mydb.employees
(
    name STRING  COMMENT 'Employee name',
    salary FLOAT COMMENT 'Employee salary',
    subordinates ARRAY<STRING> COMMENT ' Names of subordinates',
    deducations  MAP<STRING,FLOAT> COMMENT ' Keys are deducations names , Values are percentags',
    address      STRUCT<street:STRING,city:STRING,state:STRING,zip:INT> COMMENT 'Home Address'
)
COMMENT 'the table of empoyee'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\001'
COLLECTION ITEMS TERMINATED BY '\002'
MAP KEYS TERMINATED BY '\003'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE
LOCATION '/user/hive/warehouse/mydb.db/employees';

ROW FORMAT DELIMITED  : 这组关键字必须些在其他子句之前(除STOREED AS .... 子句)
FIELDS TERMINATED BY  : 指定 列 分隔符,使用默认分隔符 ^A
COLLECTION ITEMS TERMINATED BY  : 指定 集合 元素间的分割符,使用默认分隔符 ^B
MAP KEYS TERMINATED BY : 指定MAP中 键和值之间的分离,使用默认分隔符 ^C
LINES TERMINATED BY    : 指定 行 分隔符,使用默认的换行符 \n
STORED AS TEXTFILE     : 指定Hive表的存储格式
LOCATION : 指定数据文件位置

Hive表存储格式

有4种主要的存储格式,使用依据为数据类型和分析需要。但是在绝大数情况下,使用ORC或Parquet,它们为大多数数据类型提供了最佳的压缩和速度优势。

存储格式 说明
Text file 使用数据已unicode编码的原始文本格式存储
Sequence file 数据以二进制键值对格式存储
RCFile 数据以列优化格式存储 (而不是行优化)
ORC 优化的行列格式, 可以显著提高 hive性能
Parquet 一种列格式, 可提供对其他 hadoop 工具的可移植性, 包括Hive, Drill, Impala, Crunch, and Pig

表类型

在Hive中包括2种类型的表,内部表和外部表。

内部表
创建方式,常规的 CREATE TABLE 语句。对于内部表,由Hive完全控制,如删除了内部表,在Hive的表定义和对应的表数据都会被删除。

外部表
创建方法, CREATE EXTERNAL TABLE IF NOT EXISTS Names_text ,关键字为 EXTRENAL 。对于外部表不由Hive控制,对于外部表只是使用表元数据信息而进入到原始文本数据中。
如果删除了外部表,只有表的元数据信息被删除,实际的数据还是会被保留。数据是驻留在Hive之外的,或者是需要保留原始数据的表。

更多信息 https://blue-shadow.top/tags/Hive/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 230,002评论 6 542
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,400评论 3 429
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 178,136评论 0 383
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,714评论 1 317
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,452评论 6 412
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 55,818评论 1 328
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,812评论 3 446
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,997评论 0 290
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,552评论 1 335
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,292评论 3 358
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,510评论 1 374
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 39,035评论 5 363
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,721评论 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,121评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,429评论 1 294
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,235评论 3 398
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,480评论 2 379