开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

请问flink cdc job 初始化导入全量数据的时候怎么指定时间范围大于2022年?

请问flink cdc job 初始化导入全量数据的时候怎么指定时间范围大于2022年?

展开
收起
真的很搞笑 2023-08-28 15:09:04 74 0
1 条回答
写回答
取消 提交回答
  • Flink CDC 在初始化导入全量数据的时候,可以使用 startFromTimestamp 方法指定时间范围。

    以下是指定时间范围大于 2022 年的示例:

    val env = StreamExecutionEnvironment.getExecutionEnvironment

    val cdcConfig = new FlinkCDCConfig()

    cdcConfig.startFromTimestamp(new Timestamp(Instant.parse("2023-01-01T00:00:00Z").toEpochMilli))

    val job = env
    .addSource(new FlinkKafkaConsumer011<>(
    "topic",
    new StringSchema(),
    new KafkaConsumerConfig(cdcConfig)
    ))
    .setParallelism(1)
    .checkpoint(StatefulOperatorCheckpointConfig.fromCheckpointConfig(env.getCheckpointConfig))
    .build

    job.run()
    这种方式可以指定一个特定的时间戳作为初始时间点,Flink CDC 会从该时间点开始读取数据,并将数据写入到 Kafka 中。

    需要注意的是,如果指定的时间范围没有数据,那么 Flink CDC 会抛出异常。因此,在指定时间范围的时候,需要保证该时间范围内确实有数据。

    2023-09-20 11:29:57
    赞同 展开评论 打赏

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

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载