1

我们在处理转义字符时面临性能问题,而在通过 hive 查询加载时处理数据。

if (data.contains("\"")|data.contains("\b")|data.contains("\f")|        data.contains("\n")|data.contains("\r")|
        data.contains("\t")|
        data.contains("\"")|
        data.contains("|")
    ) 
{                                
    if (data.contains("\b")) 
        data = data.replace("\b", "\\b");

    if (data.contains("\f")) 
        data = data.replace("\f", "\\f");

    if (data.contains("\n")) 
        data = data.replace("\n", "\\n");

    if (data.contains("\r")) 
        data = data.replace("\r", "\\r");

    if (data.contains("\t")) 
        data = data.replace("\t", "\\t");

    if (data.contains("\"")) 
        data = data.replace("\"", "\\\"");

    data = "\""+data+"\"";

这里我们要使用的任何函数都是HIVE来处理数据。尝试过 regexp_replace ..但没有得到确切的这样做...请提出建议。

4

0 回答 0