【踩坑实录】hive修改存储格式-orc格式修改为text

目录

一、orc格式修改为text

1.问题描述

2.表结构

3.报错内容

4.定位原因

5.解决办法

二、text格式修改为orc


一、orc格式修改为text

1.问题描述

一张orc格式的表,里面有几条数据,修改成text格式时报错。

--执行语句
alter table 表名 set fileformat parquet textfile;
--设置 INPUTFORMAT、OUTPUTFORMAT、SERDE
ALTER TABLE 表名 SET FILEFORMAT INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe';

2.表结构

3.报错内容

Error while compiling statement: FAILED: Execution Error, return code 40000 from org.apache.hadoop.hive.ql.ddl.DDLTask. Changing file format (from ORC) is not supported for table

4.定位原因

这个方法只支持原先是text格式的表转为orc格式,那只是修改了表属性,但文件存储格式还是text的,查询时会出现解析错误。 

不支持从orc格式转为text格式。

5.解决办法

新建一张text格式表,将orc格式表数据插入进去,删除原表。

二、text格式修改为orc

--改变格式
alter table 表名 set fileformat  orc;
--设置 INPUTFORMAT、OUTPUTFORMAT、SERDE
ALTER TABLE 表名 SET FILEFORMAT INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat' SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde';
--查看表结构
DESC formatted 表名;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值