文本处理 - 将固定宽度的文本文件转换为分隔符

时间:2016-12-21 17:44:02

标签: azure etl text-processing parallel-data-warehouse

我甚至不确定我是否正确地构建了这个问题,但我会尝试 - 我在Linux系统上有一堆从oracle导出生成的大文本文件。每个文件大小约为30 GB,我有大约50个。目标是将此数据导出到Azure SQL Datawarehouse。在这种情况下,BCP不是保持数据大小的正确方法,因此我不得不使用Polybase。从ASCII转换为UTF8编码后,我在查询外部表时遇到了问题。 Polybase不能与固定宽度的文本文件一起使用,每行都有换行符。

文本文件看起来像这样

101,102,103,104,105,106,107
108,108,109,110,111,112,113
114,115,116,117,118,119,120
121,122,123

--nothing here, just a blank line

201,202,203,204,205,206,207
208,209,210,211,212,213,214
215,216,217

Polybase尝试从101到107进行处理,并且错误输出抱怨此文件中没有足够的列来处理。

以下是我认为正在发生的事情。固定宽度和换行符使得它将换行符视为行分隔符。

如何将此文件转换为如下所示:

101,102,103,104,105,106,107,108,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123{CR}{LF}
201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217{CR}{LF}

0 个答案:

没有答案