处理Hive表列数据

时间:2017-11-06 08:46:52

标签: hive avro hive-serde

我正在尝试在现有的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遇到列中的新行字符,它都将其视为下一个记录/行)。我无法在互联网上找到任何例子。有没有办法解决这种情况?

提前致谢。

1 个答案:

答案 0 :(得分:0)

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

相关问题