如何将camel hdfs块聚合到临时文件中并从中读取

时间:2015-09-09 16:32:10

标签: java apache-camel hdfs

我有一个使用camel hdfs组件的路由从HDFS读取文件。 camel HDFS组件以块的形式读取文件。那么,如何聚合所有块并写入文件或任何其他输出源。因此,它可以稍后通过分割器读取\ n来读取记录提取记录并执行进一步处理。

这里的HDFS文件很大。

1 个答案:

答案 0 :(得分:0)

使用

从HDFS读取
<from uri="hdfs://server:port/path?owner=xxxxxx&amp;chunkSize=xxxxx&amp;pattern=xxxxx&amp;delay=xxxx&amp;initialDelay=xxxx&amp;readSuffix=xxxx&amp;connectOnStartup=xxxxx" />

这将根据块大小读取块,然后使用

聚合它们
<aggregate strategyRef="aggregationStrategyRef">
<correlationExpression>
<simple>header.CamelFileName</simple>
</correlationExpression>
<completionPredicate>
***Specify the predicate***
</completionPredicate>       
<to uri="direct:routeNext"/>
</aggregate>

下一步是为aggregationStrategyRef实现bean并在camel JNDI注册表中注册。