Hadoop yixing(移行),新增表字段,删除表字段,修改存储格式

Hadoop yixing(移行),新增表字段,删除表字段,修改存储格式

一、hadoop中修改存储格式,比如从 textfile 转化为 orc 格式,表中的数据的组织形式要重新改变,就要将重新创建新格式的表将原来的数据按照新的格式插入到新表中

​ 这个时候我们不能直接对元数据修改一下就完事了,就像是一堆砖头,之前你说你按照长方体去摆放,后来你说要按圆柱体去摆放,你不能说只是动动嘴就完事了,是不是要把之前的砖头按照圆柱体的规划一个一个摆好。

​ 再此之前我们有必要认识一下 hadoop 中的存储格式。

1)行式存储及列式存储

行式存储(textfile、sequencefile、avro)

1.行式存储

​ 行式存储就是每一行的所有数据存储在一个 block 中。

优点:

  • 因为每一行的所有字段都存在一起,因此对数据进行插入(INSERT)和修改(UPDATE)操作很方便。
  • 整表查询比较方便,可以很快将整张表组装出来。select * from table

缺点:

  • 查询(select)时如果涉及到某条数据,需要把该行数据所有内容都读取到内存中,即使只有 select 一两个字段也要把整行数据都读进来。读取数据的时候硬盘寻址范围很大。
  • 要加速查询的话需要建立索引,建立索引需要花很多时间。
  • 空值也要占固定的空间。

应用的场景:

行式存储用于存储关系型数据,用于使用数据的时候需要经常用的数据之间的依赖关系的场景,即读取的时候需要整行数据或者整行中大部分列的数据,需要经常用到插入、修改操作,比如存储用户的注册信息等。

2.列式存储

列式存储就

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

章鱼哥TuNan&Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值