可以修改表的序列化方式。举例说明如下:

假设有一个名为'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 格式存储数据,并将字段分隔符修改为制表符。

Hive 表序列化方式修改:从文本格式到 ORC 格式

原文地址: https://www.cveoy.top/t/topic/mhm7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录