SpringXD-文件拆分器-兔子传输速度慢,文件内容不使用新行属性
我们有一个用例,可以将10m行的文件拆分为每个10000行的小文件。我们计划使用SpringXD。我们面临以下问题:SpringXD-文件拆分器-兔子传输速度慢,文件内容不使用新行属性,spring,spring-integration,spring-xd,Spring,Spring Integration,Spring Xd,我们有一个用例,可以将10m行的文件拆分为每个10000行的小文件。我们计划使用SpringXD。我们面临以下问题: 备份输入文件 文件名必须基于输入文件名和计数器生成,如refdata-1.txt、refdata-2.txt等 文件内容不是用新行写入的,而是用“,”连接的 在单个节点中使用rabbit作为传输大约需要45分钟,而在单个节点中使用local传输大约需要4分钟 stream create--name fileTestDirExp--definition“file--outputT
stream create--name fileTestDirExp--definition“file--outputType=text/plain--dir=/Documents--pattern=createdTest.txt--mode=lines--maxMessages=5000聚合器--aggregator--aggregation=#this.[payload]--count 10000--release='#this.size()eq 10000'| sink:file--dirExpression=''/Documents/splitter/''+new java.text.SimpleDateFormat('yyyyymmdd').format(new java.util.Date()).toString()'-nameExpression='headers[''id']+'.txt''-deploy
感谢您对解决上述问题的任何帮助
问候
Karthik您正在通过rabbitmq发送每一行。考虑将<代码>文件聚合器< /代码>组成一个组合的模块,使它们位于同一个位置,只有聚集的数据在兔子上传输。 聚合器发出一个
列表
;所以我不明白你怎么能把它写到文件接收器;它只接受类型为String
、byte[]
或File
的有效载荷
您将需要一个自定义转换器将列表转换为单个字符串,或者添加另一个拆分器(由文件接收器组成)并使用附加模式