Hadoop文件格式学习

2/15-Hadoop文件格式学习
hdfs文件格式主要有哪些,优点是什么,每个文件格式的压缩比?是什么情况
link
hdfs文件格式可以分为面向行和面向列两大类:

3.1 面向行、面向列文件格式

3.1.1 面向行

面向行图解

有SequenceFile、MapFile、Avro Datafile形式
面向行的文件是将同一行的数据存储在一起,如果只需要访问行的一小部分数据,也需要将整行读入内存。该方式适合于整行数据需要同时处理的情况。
优点:

  • 具备快速数据加载动态负载的高适应能力,因为行存储保证了相同记录的所有域都在同一个集群节点
    缺点:
  • 不太满足快速的查询响应时间的要求,特别是在当查询仅仅针对所有列中的少数几列时,它就不能直接定位到所需列而跳过不需要的列,由于混合着不同数据值的列,行存储不易获得一个极高的压缩比。

3.1.2 面向列

面向列图解
有Parquet、RCFile、ORCFile形式
面向列的文件被切割为若干列数据,每一列数据一起存储,读取数据时可以跳过不需要的列。
优点:

  • 这种结构使得在查询时能够直接读取需要的列而避免不必要列的读取,并且对于相似数据也可以有一个更好的压缩比。
    缺点:
  • 它并不能提供基于Hadoop系统的快速查询处理,也不能保证同一记录的所有列都存储在同一集群节点之上,也不适应高度动态的数据负载模式。

3.2 常用文件格式

常用文件格式包括以下几类:

  • TEXTFILE
  • SEQUENCEFILE
  • RCFILE
  • ORCFILE
  • Parquet
    其中TEXTFILE为默认格式,sequencefile,rcfile,orcfile格式的表不能直接从本地文件导入数据,数据要先导入到textfile格式的表中, 然后再从表中用insert导入sequencefile,rcfile,orcfile表中。

3.2.1 TEXTFILE

默认格式,数据不做压缩,磁盘开销大,数据解析开销大。
可结合Gzip、Bzip2使用?(系统自动检查,执行查询时自动解压),但使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。

create table if not exists textfile_table(
    site string,
    url string,
    pv bigint,
    label string)
row format delimited fields terminated by '\t'
stored as textfile;

--插入数据操作:
set hive.
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值