赞
踩
一、Flink API
1、DataSet:对静态数据进行批处理操作、将静态数据抽象成分布式数据集,使用Flink各种操作符处理数据,支持 Java 、Scala、Python
2、DataStream:对数据流进行流处理操作,将流式的数据抽象成分布式数据流,用Flink 各种操作符处理数据流,支持 Java、Scala
3、Table API:对结构化数据进行查询操作,将结构化数据抽象成关系表。并通过类SQL的DSL对关系表进行各种查询操作,支持 Java、Scala.
二、反压机制
概念理解:通常是由于某段时间内源头数据量的暴涨,导致任务处理数据的速度远远小于源头数据的流入速度。
导致问题:这种情况会导致流任务的内存越积越大,可能导致资源耗尽甚至系统崩溃。
不同流计算引擎,处理方式不同:
storm:通过监控 process bolt 中接收队列负载情况来处理反压,即当超过高水位值,就将反压信息写到Zookeeper,
由zookeeper 的watch 通知worker 进入反压状态,最后spout 停止发送 tuple。
Spark Streaming:设置属性"spark.streaming.bachpressure.enabled" 进行自动反压,即动态控制数据接收速率来适配集群
数据处理能力。
Flink:不需要设置,自动处理反压,即每个组件都有对应的分布式阻塞队列,只有队列不满的情况,上游才发数据,
较慢的接受者会自动降低发送速率,如果队列满了(有界队列),发送者会阻塞。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。