flinksql中没有 COLLECT_SET 函数吗?[阿里云实时计算 Flink版]

flinksql中没有 COLLECT_SET 函数吗?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
4 条回复 A 作者 M 管理员
  1. 楼主你好,flinksql中没有COLLECT_SET函数,但是可以通过自己去实现对应的功能。

  2. flink里面没有hive的collection_list以及collection_set的函数,因此我们需要自定义聚合函数也就是相当于是AGGREGATION来实现,多条数据汇集输出对应的一条数据。

  3. FlinkSQL没有提供collect_set函数,但有一个collect函数可以实现同等功能,使用格式为:

    COLLECT([ ALL | DISTINCT ] expression)

    详细使用方法参考官方文档: https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/table/functions/systemfunctions/#aggregate-functions

    如果内置函数仍然无法满足需求,您还可以编写自定义函数来实现所需功能,操作方法参考: https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/table/functions/udfs/#aggregate-functions COLLECT([ ALL | DISTINCT ] expression)

  4. Flink SQL中没有COLLECT_SET函数,但是可以使用GROUP BY和COLLECT函数来实现类似的功能。

  5. flink里面没有COLLECT_SET函数,可以自行编写