bigdata之Storm 的 HdfsBolt 也可以在超时后刷新数据吗
我们使用 Storm 来处理流数据并存储到 HDFS。我们已经做好了一切工作,但有一个问题。我知道我们可以指定元组数,然后使用 SyncPolicy 将数据刷新到 HDFS,如下所示:
SyncPolicy syncPolicy = new CountSyncPolicy(Integer.parseInt(args[3]));
我的问题是数据也可以在超时后刷新吗?例如我们已将上面的 SyncPolicy 设置为 1000 个元组。如果由于某种原因我们得到 995 个元组,然后数据停止输入一段时间 有没有办法在指定的超时时间后将 995 条记录刷新到 HDFS (5秒)?
在此先感谢您对此的任何帮助!
请您参考如下方法:
是的,如果您向 HDFS bolt 发送一个滴答元组,它将导致 bolt 尝试同步到 HDFS 文件系统。所有这一切都发生在 HDFS bolt's execute function .
要为您的拓扑配置刻度元组,请在您的拓扑配置中。在 Java 中,要将其设置为每 300 秒,代码将如下所示:
Config topologyConfig = new Config();
topologyConfig.put(Config.TOPOLOGY_TICK_TUPLE_FREQ_SECS, 300);
StormSubmitter.submitTopology("mytopology", topologyConfig, builder.createTopology());
您必须根据您的情况调整最后一行。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。



