hive不同分区不同存储格式

本文详细介绍了如何在Hive表中为不同分区设置不同的存储格式,包括创建表、分区、设置文件格式以及导入数据等关键步骤,并通过实例展示了如何在同一个表中使用textfile和RCFile格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 概述

本文介绍了在同一hive表中对不同的分区采用不同的存储格式来存储数据的操作步骤。

  1. 具体操作

  1. 数据准备

    这里以如下几条数据作为例子

     

  2. 创建hive表

    create table day_table (id int, content string) partitioned by (dt string)
    row format delimited fields terminated by '|'

  3. 创建两个不同格式的分区

    这里创建两个不同格式的分区:20140804(textfile)和20140805(RCFile)

    创建分区:

alter table day_table ADD PARTITION (dt='20140805');
alter table day_table ADD PARTITION (dt='20140804');

  

设置分区格式:

ALTER TABLE day_table PARTITION (dt='20140805') SET FILEFORMAT rcfile;--20140804默认为textfile,因此在这里无需设置

查看是否分区格式是否成功:

desc formatted day_table partition(dt='20140804');

   

desc formatted day_table partition(dt='20140805');

  

  1. 导入数据

    为不同的分区导入不同格式的数据(这里不能用hive的load方式导入数据,因为load会检查导入数据hive表格式是否匹配,因此采用直接将数据放入到该分区对应的HDFS上面)。据分析应该讲textfile的文件放入到/user/hive/warehouse/day_table/dt=20140804,将RCFile的文件放入到/user/hive/warehouse/day_table/dt=20140805中.

     

  2. 结果查询

select * from day_table;

  

可以得出hive可以支持不同分区采用不同存储格式的方式来存储数据。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值