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

请问您那边Flink CDC中Oracle CDC 加了'就能顺利读取CLOB字段,需要额外什么?

请问您那边Flink CDC中Oracle CDC 加了'debezium.lob.enabled'='true'就能顺利读取CLOB字段,需要额外什么配置吗?

展开
收起
真的很搞笑 2023-08-01 14:36:53 258 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在 Flink CDC 中,Oracle CDC 需要使用 Debezium Oracle Connector 来连接 Oracle 数据库,并读取数据库中的 binlog 数据。当 Oracle 数据库中存在 CLOB 字段时,需要进行特殊处理才能正确读取 CLOB 字段的数据。

    为了正确读取 Oracle 中的 CLOB 字段,可以在 Debezium Oracle Connector 的配置文件中增加以下配置:

    json
    Copy
    {
    "name": "oracle-connector",
    "config": {
    "connector.class": "io.debezium.connector.oracle.OracleConnector",
    "database.hostname": "localhost",
    "database.port": "1521",
    "database.user": "username",
    "database.password": "password",
    "database.server.name": "oracle-server",
    "database.history.kafka.bootstrap.servers": "localhost:9092",
    "database.history.kafka.topic": "oracle-server-history",
    "database.connection.adapter": "logminer",
    "database.fetch.size": "1024",
    "database.query.partition.fetch.size": "1024",
    "table.include.list": "schema.table",
    "database.oracle.fetch.clob": true
    }
    }
    其中,"database.oracle.fetch.clob" 参数设置为 true,表示启用 CLOB 字段的读取。这个参数的默认值为 false,如果不设置这个参数,Oracle CDC 可能无法正确读取 CLOB 字段的数据。

    需要注意的是,在使用 CLOB 字段的时候,建议将 "database.fetch.size" 和 "database.query.partition.fetch.size" 参数设置为较小的值,以避免读取 CLOB 字段时出现内存溢出等问题。

    2023-08-01 23:17:57
    赞同 展开评论 打赏

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

相关产品

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

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

    相关镜像