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

Flink CDC中postgrecdc2.4.1 从指定时间戳同步数据?

Flink CDC中postgrecdc2.4.1 从指定时间戳同步数据? properties.setProperty("startup.mode","timestamp"); properties.setProperty("startup.timestamp-millis","1626169100000L"); 这样配置没有生效,正确的要如何配置啊

展开
收起
真的很搞笑 2023-12-11 13:29:35 32 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在Flink CDC中,要使用PostgreSQL 2.4.1从指定时间戳同步数据,您需要按照以下步骤进行配置:

    1. 首先,确保您的Flink CDC连接器版本与PostgreSQL数据库版本兼容。在这种情况下,您正在使用PostgreSQL 2.4.1,因此请确保您的Flink CDC连接器版本支持该数据库版本。

    2. 接下来,您需要在Flink的配置文件(例如flink-conf.yaml)中设置以下属性:

    # 启用基于时间戳的启动模式
    startup.mode: timestamp
    # 设置启动时间戳为指定的毫秒值
    startup.timestamp-millis: 1626169100000L
    

    请注意,上述示例中的startup.timestamp-millis的值应替换为您希望同步数据的起始时间戳。

    1. 确保您的Flink应用程序代码中正确加载了这些配置属性。您可以使用Properties类来加载和设置这些属性,例如:
    import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
    import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
    import java.util.Properties;
    
    public class FlinkCDCExample {
        public static void main(String[] args) throws Exception {
            // 创建流执行环境
            StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
    
            // 加载配置属性
            Properties properties = new Properties();
            properties.setProperty("startup.mode", "timestamp");
            properties.setProperty("startup.timestamp-millis", "1626169100000L");
            env.getConfig().setProperties(properties);
    
            // 其他Flink应用程序逻辑...
        }
    }
    

    通过以上配置和代码,您应该能够成功从指定时间戳开始同步数据。请确保将startup.timestamp-millis的值替换为您实际需要的时间戳。

    2023-12-12 17:36:05
    赞同 展开评论 打赏
  • 不支持从时间戳启动 ,此回答整理自钉群“Flink CDC 社区”

    2023-12-11 22:01:49
    赞同 展开评论 打赏

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

相关产品

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

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