繁体   English   中英

批处理Flowfiles进入MergeContent

[英]Batching Flowfiles coming into MergeContent

我正在以下列方式使用MergeContent来“批量”来自许多ExecuteSQL的传入响应。 在MergeContent Processor中,我将最小条目数设置为1000,将最大Bin时间设置为30秒。 然后我有一个关联属性名称,用于存储传入的FlowFiles。 这看起来像我期望的那样有效,但我的问题有两个:

答:这是一种明智的方法还是有更好/更有效的方法来做到这一点? 也许是ListFile / GetFile / MergeContent等的组合......

B.是否存在性能/可扩展性问题,“最大数量”的最小条目数?

我的最终目标是尝试将来自ExecuteSQL命令的许多结果合并到一个文件中,并通过其关联属性名称进行分类。

你的方法似乎很扎实。 SplitContentMergeContent处理器旨在处理大量的流文件(请记住,流文件内容实际上并未在堆空间中传递,而是存储在内容存储库中,并且流文件充当引用指针)。 在许多情况下,我们已经看到用户“堆叠”这些处理器 - 即读取具有100万条记录的文件,初始SplitContent处理器分成每个包含10,000条记录的流文件,然后第二条将这些流文件拆分为单独的记录,而不是去单次操作从100万到1。 这样可以提高性能并降低OutOfMemoryException的可能性。

同样,您可以使用第二个MergeContent处理器将包含1,000个条目的流文件聚合到单个流文件中的较大集合中。 决定取决于您当前的吞吐量 - 30秒分箱和1,000个条目的组合是否可以让您始终拥有包含1,000个条目的流量文件,或者它们只能获得几百个? 您可以评估流文件的数据来源以确定这一点,并且您可以将并行流设置为基本上A / B测试您的配置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM