Hive 表序列化方式修改:从文本格式到 ORC 格式
可以修改表的序列化方式。举例说明如下:
假设有一个名为'example'的表,它的默认序列化方式为文本格式,字段分隔符为逗号(,):
CREATE TABLE example (
col1 STRING,
col2 INT,
col3 DOUBLE
) ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
现在我们想将该表的序列化方式修改为 ORC 格式,字段分隔符修改为制表符( ),可以使用以下命令:
ALTER TABLE example SET SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
WITH SERDEPROPERTIES ('serialization.format'='1', 'field.delim'=' ');
ALTER TABLE example SET FILEFORMAT INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat';
ALTER TABLE example SET SERDEPROPERTIES ('field.delim'=' ');
第一条命令将表的序列化器设置为 ORC 格式,并设置序列化器属性,包括序列化格式为1,字段分隔符为制表符。
第二条命令将表的文件格式设置为 ORC 格式,包括输入格式和输出格式。
第三条命令将表的序列化器属性设置为字段分隔符为制表符。
执行完以上三条命令后,表'example'将使用 ORC 格式存储数据,并将字段分隔符修改为制表符。
原文地址: https://www.cveoy.top/t/topic/mhm7 著作权归作者所有。请勿转载和采集!