处理 Hive 表列数据上的换行符



>我正在尝试在现有的 avro 文件上创建一个外部 hive 表。下面是查询。

CREATE EXTERNAL TABLE sample
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
location '/user/sshusr/sample/'
TBLPROPERTIES ('avro.schema.url'='/user/sshusr/avsc_files/sample.avsc');

表已创建,我可以使用简单的 SELECT 查询查看数据。但是,avro 中很少有列可以有换行符。例如,注释列数据可以有段落(带有换行符)。因此,数据没有正确加载到表中(只要 avro serde 在列内遇到换行符,它就会将其视为下一条记录/行)。我在互联网上找不到任何例子。是否有任何解决方法来处理这种情况?

提前谢谢。

它已经在 Hive 版本 2.0.0 中修复。在此之前,在此之前的唯一解决方法是在 select 语句期间将新行字符替换为其他内容。

最新更新