我正在设置Flume Agent的属性,我不确定我应该为batchSize使用什么值(要一起批量发送的事件数)。
在我的特定情况下,我将把控制台用作接收器。据我所知,记录器 - 接收器是在这种情况下使用的类型。但Flume文档没有提到这种接收器的batchSize参数。是不是有必要为记录器接收器定义batchSize?
答案 0 :(得分:0)
好吧,我找到了一个问题的答案:是否有必要为记录器接收器定义batchSize?
https://flume.apache.org/FlumeUserGuide.html#logger-sink没有batchSize,而是有一个参数calle maxBytesToLog ,它定义了要记录的事件主体的最大字节数(默认情况下,它的值为16)。这里有一个简单的例子我发现了一个Flume Agent,它使用控制台作为接收器:
private IEnumerable<Season> _seasons;
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public IEnumerable<Season> seasons
{
get { return _seasons == null || _seasons.Count() == 0 ? null : _seasons; }
set { _seasons = value; }
}
来自:https://medium.com/@DCA/something-about-flume-3cb720ba00e8#.37zs23dnt
关于主要问题如何确定水槽的批量大小?
关于hdfs批量大小,批量大小越大,性能越好。但是,请记住,如果事务失败,将重放整个事务,这可能会导致下游重复事件的影响。