该函数为什么我本地能够正常执行,写到flick cdc 提示错误呢?

该函数为什么我本地能够正常执行,写到flick cdc 提示错误呢?
org.apache.calcite.sql.validate.SqlValidatorException: No match found for function signature aes_decrypt(, )

展开
收起
十一0204 2023-08-16 08:05:04 189 分享 版权
1 条回答
写回答
取消 提交回答
  • 如果您在本地执行 aes_decrypt 函数没有问题,但在 Flink CDC 中使用时出现了错误,可能是因为 Flink CDC 使用的 SQL 解析器和验证器不支持 aes_decrypt 函数。

    Flink CDC 使用的是 Apache Calcite 作为 SQL 解析器和验证器。Apache Calcite 在 SQL 函数的支持上可能与您本地使用的数据库或工具有所差异。

    要解决这个问题,您可以考虑以下几种方案:

    替换函数:尝试使用 Flink CDC 支持的其他函数来替代 aes_decrypt 函数。如果有类似的加密或解密函数可用,可以尝试使用它们来达到相同的目的。

    自定义函数:如果 Flink CDC 不支持所需的函数,您可以尝试自定义一个用户自定义函数(UDF)来实现您需要的加密解密逻辑,并在 Flink CDC 中使用该自定义函数。

    修改源代码:如果您对 Flink CDC 的源代码有访问权限,您可以尝试修改源代码以支持 aes_decrypt 函数。这需要了解 Flink CDC 内部的工作原理,并在代码中添加对该函数的支持。

    请注意,在使用自定义函数或修改源代码时,需要仔细测试和验证,以确保功能正确性和性能稳定性。

    2023-09-20 15:51:39
    赞同 展开评论

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

还有其他疑问?
咨询AI助理