关于hive和sparksql中的转义符如何处理

问题:在做hive拼接json串的时候遇到了字符串中含有双引号,比如

"key1":"我是"中国"人",

解决:如果这样拼接的话会直接报错,这个时候需要转义符进行转义,而hive是对转义符转义三次,

所以在hive里正确的写法是regexp_replace(字段名,'"','\\\\"')

        在sparksql整合hive的时候,要用regexp_replace(字段名,'"','\\\\\\\\"'),首先sparksql先转义,剩4个,在转成hive,最后输出的格式为:

"key1":"我是\"中国\"人"

你可能感兴趣的:(hive,sparksql)