使用 U-SQL 删除字符串中的空行

Removing empty lines in a string using U-SQL

我收到客户对 Azure 数据湖的评论,这些评论在 U-SQL 中 combined/formatted。一些客户在他们的评论行之间留下了 space。知道如何使用 U-Sql?

删除这些空行吗

例如单个评论

My name is abc
<blank line>
I love playing football. 

需要去掉中间的空行。 Trim() 只删除开始和结束的白色spaces。谢谢

您可以使用 RegEx 和 U-SQL 来清理您的文本,例如,这个简单的脚本将两个回车符 return 替换为一个回车符 return, 删除空行:

@input = 
    SELECT * FROM
        ( VALUES
            ( 1, @"My name is abc

I love playing football." ),
            ( 2, @"I love U-SQL

I'm indifferent to Hadoop." )
        ) AS x( id, review );



// Strip out repeated carriage returns
@output =
    SELECT id, 
            Regex.Replace(review, "(\r\n){2}", "\r\n", RegexOptions.Multiline) AS cleanedReview
    FROM @input;


OUTPUT @output
TO "/output/output.csv"
USING Outputters.Csv();

您可能需要尝试使用 RegEx 表达式来清理您的特定数据。