处理配置单元表列数据上的线路断路器

blmhpbnm  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(429)

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

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在列中遇到新行字符,它就会将其视为下一个记录/行)。我在网上找不到任何例子。有什么解决办法来处理这种情况吗?
提前谢谢。

bqjvbblv

bqjvbblv1#

它已经在hive版本2.0.0中修复。在此之前,唯一的解决方法是在select语句中替换新行字符。

相关问题