深入浅出Spark2.1.0度量系统——Sink继承体系

本文介绍了Spark2.1.0度量系统的Sink部分,包括Sink的定义、常见度量输出方式,以及ConsoleSink、CsvSink、MetricsServlet、JmxSink、Slf4jSink和GraphiteSink等六种Sink的具体实现。Slf4jSink的实现通过Slf4jReporter将度量输出到日志,便于后续查看和分析。
摘要由CSDN通过智能技术生成

阅读提示:阅读本文前,最好请阅读《Spark2.1.0——深入浅出度量系统》和《深入浅出Spark2.1.0度量系统——Source继承体系》。

         Source准备好度量数据后,我们就需要考虑如何输出和使用的问题。这里介绍一些常见的度量输出方式:阿里数据部门采用的一种度量使用方式就是输出到日志;在命令行运行过Hadoop任务(例如:mapreduce)的使用者也会发现控制台打印的内容中也包含度量信息;用户可能希望将有些度量信息保存到文件(例如CSV),以便将来能够查看;如果觉得使用CSV或者控制台等方式不够直观,还可以将采集到的度量数据输出到专用的监控系统界面。这些最终对度量数据的使用,或者说是输出方式,Spark将它们统一抽象为Sink。Sink的定义见代码清单1。

代码清单1         度量输出的定义

private[spark] trait Sink {
  def start(): Unit
  def stop(): Unit
  def report(): Unit
}

从代码清单1可以看到Sink是一个特质,包含三个接口方法:

  • start:启动Sink;
  • stop:停止Sink;
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值