需要 '/n' 但被解析为新行 - Azure Synapse Analytics

Posted

技术标签:

【中文标题】需要 \'/n\' 但被解析为新行 - Azure Synapse Analytics【英文标题】:Need '/n' but getting parsed as new line- Azure Synapse Analytics需要 '/n' 但被解析为新行 - Azure Synapse Analytics 【发布时间】:2022-01-02 01:29:03 【问题描述】:

源文件(Azure Blob 中的 JSON)中有一些转义字符 – /” 和 /n。当我通过复制活动或数据流转换文件时,这些字符被解析,我只得到接收器文件中的“和新行。虽然我需要将 /” 解析为“ 我需要 /n 仅作为字符串出现,而不是换行。有什么方法可以实现吗?分隔文本数据集中的引号字符和转义字符选项没有帮助,因为我需要将引号字符设置配置为无引号字符。

这是示例 JSON 的外观 - "值" : ""

在复制活动或数据流中,源在预览模式下看起来像这样 - xmlns:xsd="http://www.w3.org/2001/XMLSchema"一些数据>

我需要这样的东西-

所以对于我的场景,\n 需要保留,而不是被解析为新行。我已经尝试在源代码中添加 \\n 并且这很有效,但遗憾的是,在源代码端进行更改是不可能的。我可以在 Synapse 本身中做这样的事情吗?

【问题讨论】:

【参考方案1】:

您可以考虑使用数据流派生列转换将所有数据作为单列读取,并将源文件中的\n 首先替换为\\n。更新源文件后,请使用复制活动。

或者

您可以考虑在 Azure 函数中部署一个代码,该代码可以更新源文件以先将 \n 替换为 \\n,然后使用复制活动来复制文件。

【讨论】:

我能否获得更多关于如何在数据流派生列活动中进行替换(数据操作)的详细信息?

以上是关于需要 '/n' 但被解析为新行 - Azure Synapse Analytics的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式删除新行和空格

使用变量值在 Azure Logic App 中设置 SQL 存储过程路径

将新行转换为段落

将 SED 与新行一起使用

C ++从多行字符串中删除新行

Azure webapp 日志尾部解析失败