如何处理Hive中具有换行符的json文件?

时间:2018-10-03 13:14:34

标签: json hive

我正在尝试将json数据加载到配置单元表中。此json数据包含换行符。当我尝试将此json数据加载到hive表中时,无法正确插入。

我的配置单元表创建:

CREATE EXTERNAL TABLE serde_tab(
    gender STRING, name STRING
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION '/user/input/text' ;

我的json数据:

{"gender":"femal\ne","name":"xyz"}

我的配置单元表数据:

select * from serde_tab;
OK
serde_tab.gender    serde_tab.name
femal
e   xyz

有人可以帮我解决同一件事吗

1 个答案:

答案 0 :(得分:0)

您可以使用 regexp_replace 函数将 \ n 替换为''

hive> select regexp_replace(string("femal\ne"),'\n','');
+---------+--+
|   _c0   |
+---------+--+
| female  |
+---------+--+

(或)

编写一个shell脚本,将所有\ n换行符替换为emptyvalues('')。