Spark UI存储选项卡显示更多RDD

时间:2017-12-28 03:15:41

标签: apache-spark spark-streaming rdd

我正在运行一个火花流应用程序。该应用程序使用MapWithStateRDD来管理批次之间的状态。应用和设置详情:

  • 节点:2
  • 每个执行程序的内存:3 GB
  • MapWithStateRDD的分区数:200
  • 独立模式
  • 批量大小:20秒
  • 超时时间:1分钟
  • 启用了检查点
  • 检查点持续时间:1分钟
  • Spark版本:2.2

除了MapWithStateRDD之外,我没有缓存或检查任何RDD,而Spark自动检查点。我注意到的是,存储选项卡不仅显示3(即60/20)MapWithStateRDDs,还有更多(查看附图)。随着处理更多批次,列表会继续变长。如何理解这一点?Spark Storage Tab Content

代码段显示从kafka读取并使用mapwithState:

JavaInputDStream<ConsumerRecord<String, MyClass>> records = KafkaUtils.createDirectStream(
                    jssc,
                    LocationStrategies.PreferConsistent(),
                    ConsumerStrategies.<String, MyClass>Subscribe(topics, kafkaParams));

JavaPairDStream<String, MyClass> converted = records.mapToPair(consRecord -> {
    return new Tuple2<String, MyClass>(consRecord.key(), consRecord.value());
});

JavaMapWithStateDStream<String, MyClass, Session, Session> stateDstream = converted.mapWithState(StateSpec.function(mappingFunc).timeout(Durations.minutes(Long.parseLong(conf.get("spark.state.timeout.interval")))).numPartitions(200));

0 个答案:

没有答案