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

Flink CDC这个功能只能通过写代码来实现了吗?

Flink CDC中flink SQL里的string split 函删掉后,这个功能只能通过写代码来实现了吗?

展开
收起
真的很搞笑 2023-11-15 08:59:02 77 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在Flink SQL中,STRING_SPLIT函数用于将字符串拆分为一个行集。如果删除了该函数,则确实只能通过编写程序代码来实现相同的功能。
    不过,您可以考虑使用其他的内置函数来替代STRING_SPLIT,如SPLIT_STRING或REGEXP_EXTRACT_ALL等。这些函数也可以用来将字符串拆分成多个部分,并且在大多数情况下能够满足您的需求。另外,您还可以使用自定义函数或用户定义函数(UDF)来实现更加灵活的操作。

    2023-11-15 14:31:17
    赞同 1 展开评论 打赏
  • 是的,删掉后只能通过编程实现

    2023-11-15 09:38:56
    赞同 1 展开评论 打赏
  • 是的,在Flink SQL中,如果你需要使用STRING_SPLIT函数,你需要在代码中实现它。这是因为STRING_SPLIT函数并不是Flink SQL的标准函数,而是由特定的Flink Catalog实现的。

    例如,如果你使用的是Hive Catalog,你可以使用HiveQL的STRING_SPLIT函数。但是,如果你使用的是其他类型的Catalog,如MySQL Catalog或PostgreSQL Catalog,这些Catalog可能并不支持STRING_SPLIT函数。

    在Flink SQL中,你可以使用FLINK_PROCTIME()函数来获取当前事件的时间,然后结合其他函数和操作符来实现类似STRING_SPLIT的功能。例如,你可以使用REGEXP_EXTRACT函数来提取字符串中的子字符串,然后使用FLINK_PROCTIME()函数来计算子字符串的位置,最后使用ARRAY_APPEND函数来将子字符串添加到一个数组中。

    这种方法可能会比直接使用STRING_SPLIT函数更复杂一些,但是它可以让你在所有的Catalog中都使用相同的方法,而不需要为每个Catalog编写不同的代码。

    2023-11-15 09:17:12
    赞同 展开评论 打赏

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

相关产品

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

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