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

flink sql 怎么获取到oracle 自增ID ?

flink sql 怎么获取到oracle 自增ID ?

展开
收起
三分钟热度的鱼 2023-12-06 21:16:06 78 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在Flink SQL中,获取Oracle自增ID可以通过以下步骤实现:

    1. 首先,你需要在你的Flink SQL环境中启用对Oracle的支持。这通常需要在创建表的时候指定'oracle'作为存储引擎。例如:
    CREATE TABLE my_table (
      id INT,
      name STRING,
      PRIMARY KEY(id) NOT ENFORCED
    ) WITH (
      'connector' = 'jdbc',
      'url' = 'jdbc:oracle:thin:@localhost:1521:xe',
      'table-name' = 'my_table',
      'username' = 'my_user',
      'password' = 'my_password',
      'sink.buffer-flush.max-rows' = '1000',
      'sink.buffer-flush.interval' = '1s',
      'sink.max-retries' = '3'
    );
    
    1. 然后,你可以在插入数据时获取到自增ID。在Oracle中,当你向表中插入一条新记录时,你可以使用ROWNUM来获取这条记录的自增ID。例如:
    INSERT INTO my_table (name) VALUES ('John');
    SELECT id FROM my_table WHERE name = 'John';
    

    在这个例子中,当你插入一条名为'John'的新记录后,你可以通过查询my_table表来获取这条记录的自增ID。注意,由于这是Oracle的特性,所以这个操作只能在Oracle数据库上执行。

    2023-12-07 14:26:05
    赞同 展开评论 打赏
  • CSDN全栈领域优质创作者,万粉博主;InfoQ签约博主;华为云享专家;华为Iot专家;亚马逊人工智能自动驾驶(大众组)吉尼斯世界纪录获得者

    在 Flink SQL 中,要获取 Oracle 自增 ID,可以使用以下方法:

    1. 首先,确保已经创建了一个源表(source table),用于从 Oracle 数据库中读取数据。例如:
    CREATE TABLE oracle_source (
      id INT,
      name STRING,
      age INT
    ) WITH (
      'connector' = 'jdbc',
      'url' = 'jdbc:oracle:thin:@localhost:1521:orcl',
      'table-name' = 'your_table_name',
      'username' = 'your_username',
      'password' = 'your_password',
      'driver' = 'oracle.jdbc.driver.OracleDriver'
    );
    
    1. 然后,创建一个目标表(sink table),用于将处理后的数据写入到其他系统或存储。例如:
    CREATE TABLE sink_table (
      id INT,
      name STRING,
      age INT,
      auto_increment_id BIGINT
    ) WITH (
      'connector' = '...', -- 根据需要选择合适的连接器,如 Kafka、JDBC 等
      ...
    );
    
    1. 接下来,编写一个 Flink SQL 查询,从源表中读取数据,并将自增 ID 添加到目标表中。例如:
    INSERT INTO sink_table
    SELECT id, name, age, id AS auto_increment_id FROM oracle_source;
    

    这样,Flink SQL 查询就会从 Oracle 数据库中获取自增 ID,并将其添加到目标表中。注意,这里的自增 ID 就是源表中的 id 字段。

    2023-12-07 13:15:18
    赞同 展开评论 打赏

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

相关产品

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

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