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

Flink CDC中知道sql,动态加库以后,怎么加上这个参数么?

问题1:Flink CDC中知道sql,动态加库以后,怎么加上allowNonRestoredState 这个参数么? 问题2:那如果我当前任务是1个库,我需要在当前任务中再增加一个库,咋整,我就是没有看到这个,官方的有这个参数直接跳转到jar了

展开
收起
真的很搞笑 2023-07-02 12:01:51 68 0
2 条回答
写回答
取消 提交回答
  • 在 Flink CDC 中,您无法直接在 SQL 中动态添加参数(例如 allowNonRestoredState)。SQL 是一个声明性语言,用于描述数据处理逻辑,而不是配置任务参数。

    如果您需要在 Flink CDC 中动态设置参数,可以考虑以下两种方法:

    1. 使用 Flink 的编程 API:通过使用 Flink 的编程 API,您可以更灵活地配置任务参数。您可以在代码中创建 CDC 任务并设置相应的参数,包括 allowNonRestoredState。这样,您可以根据需要动态添加库和设置参数。下面是一个示例代码:

    StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
    StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);
    
    // 创建 CDC 表
    tEnv.executeSql("CREATE TABLE my_cdc_table (...) WITH (...)");
        
    // 动态添加库(例如 MySQL)
    String libraryName = "my_library";
    tEnv.executeSql("CREATE CATALOG " + libraryName + " WITH (...)");
    
    // 设置任务参数
    env.getConfig().set(ExecutionCheckpointingOptions.ALLOW_NON_RESTORED_STATE, true);
    

    2. 使用 YAML 配置文件:您可以使用 YAML 配置文件来定义 Flink CDC 任务,其中可以设置需要的参数。在配置文件中,您可以定义多个库,并为每个库指定相应的参数。然后,您可以使用命令行或 Flink Dashboard 将配置文件传递给 Flink 运行时。下面是一个示例配置文件:

    name: my_cdc_job
    execution:
      checkpointing:
        allowNonRestoredState: true
    catalogs:
      - name: my_library
        type: jdbc
        ...
    tables:
      - name: my_cdc_table
        ...
    
    2023-07-30 13:02:26
    赞同 展开评论 打赏
  • 回答1:你说的是sql不是jar对吧,可是sql动态加表没用呀,sql只能对分库分表的有用,可是sql我没看到有这个参数可配置 回答2:sql我没看到动态加表的参数,此回答整理自钉群“Flink CDC 社区”

    2023-07-02 12:20:33
    赞同 展开评论 打赏

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

相关产品

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

    更多
    SQL Server 2017 立即下载
    GeoMesa on Spark SQL 立即下载
    原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载