Sparkstreaming组件
SparkStreaming组件
SparkStreaming组件是面向使用SparkStreaming处理实时任务的用户,用户编写SparkStreaming应用程序,通过SparkStreaming组件完成部署。和标准的Spark相比,SparkStreaming组件支持流式处理相关的特殊配置。
1. 从左侧组件列表里拖拽出一个SparkStreaming节点

2. 单击任务节点,会从右侧弹出配置框

backpressure开关:是否开启背压机制,即在计算跟不上数据的情况下,会自动降低接收数据的速率
receiver.maxRate:指定receiver最大接收速率,单位为每秒接收记录的条数
auto-restart:指定是否失败自动重启
最大重启次数:指定任务的最大重启次数
其他配置操作与Spark组件类似。
SparkStreaming使用建议
增加AM & Spark Driver重试次数以及长时运行保证
// tdw-spark default: 1 spark.yarn.maxAppAttempts=4 spark.yarn.am.attemptFailuresValidityInterval=1h
增加Executor失败最大容忍次数
// default: max(2 * num executors, 3) spark.yarn.max.executor.failures={8 * num_executors} spark.yarn.executor.failuresValidityInterval=1h
开启推测执行,淘汰那些跑的慢的Task, 注意action操作是幂等的
spark.speculation=true
如果数据源是来自Receiver,建议num_receiver=num_executor,同时控制每个batch 的partition数
// num_partition = (batch_interval / blockInterval) * num_receiver spark.streaming.blockInterval=200ms
Last updated
Was this helpful?