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

Flume-ng hdfs sink .tmp file refresh rate control proprty

我正在尝试每 5 分钟用其他事件刷新 .tmp 文件,我的源很慢,需要 30 分钟才能在我的 hdfs 接收器中获取 128MB 的文件。

在 flume hdfs sink 中是否有任何 属性 我可以在将文件滚动到 HDFS 之前控制 .tmp 文件的刷新率。

我需要这个来使用 hive table 从 .tmp 文件中查看 HDFS 中的数据。

目前我正在使用配置单元查看 .tmp 文件中的数据 table 但是 .tmp 文件很长时间没有刷新,因为卷大小为 128MB。

考虑降低您频道的容量和交易容量设置:

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 可能会太高。