ALTER TABLE table_name [PARTITION partitionSpec] SET FILEFORMAT file_format
分区和表都会存储了文件格式,都要改过来才正确。。
例子:
ALTER TABLE foo SET FILEFORMAT
INPUTFORMAT “com.hadoop.mapred.DeprecatedLzoTextInputFormat”
OUTPUTFORMAT “org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat”;
ALTER TABLE foo PARTITION (pt=’2013-06-04′) SET FILEFORMAT
INPUTFORMAT “com.hadoop.mapred.DeprecatedLzoTextInputFormat”
OUTPUTFORMAT “org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat”;
也可以直接改metastore数据库,但要注意hive服务端可能有cache(默认是开了level2 cache),不知道会不会影响。
更改SD表
UPDATE SDS SET INPUT_FORMAT=’com.hadoop.mapred.DeprecatedLzoTextInputFormat’;
本文介绍了如何使用Hive SQL语句修改表的文件格式,包括输入和输出格式,并提供了具体的示例。同时讨论了直接修改metastore数据库的可能性及注意事项。
4970

被折叠的 条评论
为什么被折叠?



