微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决Pyspark / NiFi:将多行行文件转换为单行行文件

我有一个csv文件,其中的记录是这样的多行

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

1,2

3,7

我想像下面那样更改文件-

1,7

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

解决方法

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

如果您知道第一行始终具有正确的字段数,则可以解析第一条“记录”并节省字段数。然后,您可以继续解析,忽略空格,每次解析字段数时都返回一条新记录。

如果您不知道第一行具有字段总数,则希望将其作为FlowFile属性传递并使用它来解析字段。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。