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

我是想打印出这个source表的总记录数,但是这么写之后为啥还是没有结果呢?

我是想打印出这个source表的总记录数,但是这么写之后为啥还是没有结果呢? 9c9000cc6c932c9cba88f5cefbb7816e.png

展开
收起
爱喝咖啡嘿 2023-01-03 14:44:42 158 0
1 条回答
写回答
取消 提交回答
  • SELECT COUNT(*) AS total_count
    FROM {{ source_table }}
    如果以上查询没有返回结果,可能是由于以下原因之一:

    表为空:如果 {{ source_table }} 表中没有任何记录,查询将返回 0。
    权限问题:确保你具有查询 {{ source_table }} 表的适当权限。
    数据源连接问题:检查你的 Flink 作业是否正确配置并连接到 Oracle 数据库。
    Flink 作业配置问题:确保你的 Flink 作业正确配置了 Oracle CDC 连接器,并且已将表名指定为源表。
    以下是一些可能的解决方法:

    检查表是否为空:使用以下查询检查表是否为空:
    SELECT 1 FROM {{ source_table }} LIMIT 1;
    如果查询返回结果,则表不为空。

    检查权限:使用以下查询检查你对表的权限:
    SELECT * FROM USER_TAB_PRIVS WHERE TABLE_NAME = '{{ source_table }}';
    查询应返回一行,其中 SELECT 权限设置为 YES。

    检查数据源连接:检查你的 Flink 作业配置是否正确,并确保它连接到正确的 Oracle 数据库。你可以使用以下查询测试连接:
    SELECT 1;
    如果查询返回结果,则连接成功。

    检查 Flink 作业配置:确保你的 Flink 作业正确配置了 Oracle CDC 连接器,并且已将表名指定为源表。你可以检查作业配置以确保以下内容:
    -- Oracle CDC 连接器配置
    'connector' = 'oracle-cdc',
    'hostname' = 'localhost',
    'port' = '1521',
    'database-name' = 'orcl',
    'username' = 'flink',
    'password' = 'flink',
    'table-list' = '{{ source_table }}'
    如果上述步骤无法解决问题,请提供更多详细信息,例如 Flink 作业配置和 Oracle 数据库版本,以便我进一步帮助你排除故

    2024-02-26 16:54:53
    赞同 展开评论 打赏

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

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载