Python Pyspark/NiFi:将多行文件转换为单行文件

Python Pyspark/NiFi:将多行文件转换为单行文件,python,pyspark,apache-nifi,Python,Pyspark,Apache Nifi,我有一个csv文件,它有这样的多行记录 1,2,3,4,5,6,7 1,2,3,4 ,5,6, 7 1,2 3,4 ,5,6, 7 我想像下面这样更改文件- 1,2,3,4,5,6,7 1,2,3,4,5,6,7 1,2,3,4,5,6,7 我知道pyspark可以使用multiline:True选项读取此类文件,但我想将此文件转换为单线行,这是业务用例。我该怎么做呢。使用的技术可以是Pyspark或NiFi。提前感谢在NiFi中,您可以使用ScriptedReader来

我有一个csv文件,它有这样的多行记录

1,2,3,4,5,6,7

1,2,3,4

,5,6,

7

1,2

3,4

,5,6,


7
我想像下面这样更改文件-

1,2,3,4,5,6,7

1,2,3,4,5,6,7

1,2,3,4,5,6,7

我知道pyspark可以使用multiline:True选项读取此类文件,但我想将此文件转换为单线行,这是业务用例。我该怎么做呢。使用的技术可以是Pyspark或NiFi。提前感谢

在NiFi中,您可以使用ScriptedReader来执行此操作,但这需要使用Groovy或Jython等语言的自定义代码

如果您知道第一行的字段数总是正确的,那么可以解析第一条“记录”并保存字段数。然后可以继续解析,忽略空白,每次解析字段数时都返回一条新记录


如果您不知道第一行包含的字段总数,您可能希望将其作为FlowFile属性传入并使用它来解析字段。

在NiFi中,您可以使用ScriptedReader来完成此操作,但这需要使用Groovy或Jython等语言的自定义代码

如果您知道第一行的字段数总是正确的,那么可以解析第一条“记录”并保存字段数。然后可以继续解析,忽略空白,每次解析字段数时都返回一条新记录


如果您不知道第一行包含的字段总数,则希望将其作为FlowFile属性传入,并使用该属性来解析字段。

无论采用哪种方式,我估计数据集中每行有7个字段。所以你必须阅读这7个元素并忽略任何换行符。不管你用哪种方式,我估计你的数据集中每行有7个字段。所以你必须阅读这7个元素,忽略任何换行符。