flume ng hdfs sink.tmp文件刷新率控制属性

qvtsj1bj  于 2021-06-04  发布在  Flume
关注(0)|答案(1)|浏览(370)

我试图刷新.tmp文件与其他事件在每5分钟,我的来源是缓慢的,它需要30分钟,以获得128mb的文件在我的hdfs接收器。
flume hdfs sink中是否有任何属性可以在将.tmp文件回滚到hdfs之前控制该文件的刷新率。
我需要这个来使用.tmp文件中的hive表查看hdfs中的数据。
当前我正在使用配置单元表查看.tmp文件中的数据,但是.tmp文件在很长时间内没有刷新,因为卷大小是128mb。

hkmswyz6

hkmswyz61#

考虑降低频道的容量和事务容量设置:

capacity    100 The maximum number of events stored in the channel
transactionCapacity 100 The maximum number of events the channel will take from a source or give to a sink per transaction

这些设置负责控制在将事件刷新到接收器之前假脱机的事件数。例如,如果将该值降低到10,则每10个事件将刷新到tmp文件中。
更改hdfs接收器中的batchsize所需的第二个值:

hdfs.batchSize  100 number of events written to file before it is flushed to HDFS

如果您有一个非常慢的源代码,并且希望更频繁地查看事件,那么默认值100可能太高。

相关问题