1

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

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

我需要这个来使用 .tmp 文件中的配置单元表查看 HDFS 中的数据。

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

4

1 回答 1

0

考虑减少通道的容量和 transactionCapacity 设置:

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

于 2015-05-27T11:26:40.627 回答