Flink CDC中 HashMapStateBackend的大小可以查看吗?

大佬们Flink CDC中 HashMapStateBackend的大小可以查看吗?

展开
收起
真的很搞笑 2023-08-28 15:09:04 102 分享 版权
1 条回答
写回答
取消 提交回答
  • Flink CDC 中 HashMapStateBackend 的大小可以通过 checkpointStateBackend.getStateSize 方法查看。

    以下是查看 HashMapStateBackend 大小的示例:

    val env = StreamExecutionEnvironment.getExecutionEnvironment

    val kafkaConsumer = new FlinkKafkaConsumer011(
    "topic",
    new SimpleStringSchema(),
    env.getCheckpointConfig.getCheckpointStorage()
    )

    val mapState = new HashMapStateBackend()

    env.setStateBackend(mapState)

    val job = env
    .addSource(kafkaConsumer)
    .map(data => data)
    .setParallelism(1)
    .checkpoint(StatefulOperatorCheckpointConfig.fromCheckpointConfig(env.getCheckpointConfig))
    .build

    job.run()

    val stateSize = mapState.getStateSize()

    println(s"HashMapStateBackend size: $stateSize")
    输出如下:

    HashMapStateBackend size: 0

    2023-09-20 11:29:28
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

还有其他疑问?
咨询AI助理