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

大佬们,我刚接触flink,请教个问题,flinksql不支持这样写吗,数据库函数?

大佬们,我刚接触flink,请教个问题,flinksql不支持这样写吗,数据库函数? 在数据库是可以执行的,但是在flink校验sql的 时候报错了?ce0426c106591bf861eff156f9199b97.png

展开
收起
芯在这 2024-01-04 14:22:10 91 0
2 条回答
写回答
取消 提交回答
  • 可以支持数据库函数,但是需要确保Flink SQL的版本和数据库兼容。请检查您的Flink SQL版本是否支持您使用的数据库函数。如果版本不兼容,您可以尝试升级Flink SQL版本或使用其他兼容的数据库函数。同时,请确保您的SQL语句格式正确,没有语法错误。

    2024-01-05 15:02:39
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    您好!Flink SQL 支持大部分标准 SQL 功能,并且可以与许多开源数据库系统(如 MySQL 和 PostgreSQL)进行交互。然而,在某些情况下,可能会遇到无法直接翻译成查询计划的问题,特别是在处理复杂表达式或特定功能方面。

    您的示例中包含 GROUP_CONCAT() 函数,这是一个用于将多个字符串连接在一起并返回一个单一字符串的功能。虽然 Flink 不原生提供此函数,但可以通过 UDF 或外部表来模拟类似行为。这里是一个简单的例子说明如何通过 UDF 实现 GROUP_CONCAT:

    CREATE TEMPORARY TABLE my_group_concat AS (
        SELECT 
            goods_id,
            ARRAY(
                STRING[MCS_TYPE_CODE]
                    FROM (SELECT DISTINCT CONTRAST_COLUMN FROM compare_table)
            ) as contrast_columns,
            ARRAY[
                CASE WHEN COLUMN_NAME IN ('PRODUCT_ID', 'GOODS_ID') THEN 'PRODUCT_ID' ELSE '' END,
                CASE WHEN COLUMN_NAME IN ('REGCARD_ID', 'HI_MCS_TYPENAME') THEN CONCAT('','REGCARD_ID') ELSE '' END,
                CASE WHEN COLUMN_NAME IN ('LV1_TYPE_NAME', 'LV2_TYPE_NAME') THEN CONCAT('','LV1_TYPE_NAME') ELSE '' END,
                COLUMN_VALUE separator ','
            ] as update_content,
            dict_id
        FROM (
            select distinct goods_id GOODS_ID from slink table ( upload_id , contrast_column )
        ));
    
    INSERT INTO my_group_concat SELECT UPLOAD_ID, GROUP_CONCAT(column_name separator ','), UPDATE_RECORD, -1 CONTRAST_USER, now() CONTRAST_DATE, GOODS_ID, MY_SEQUENCE_VALUE, GROUP_CONCAT(column_value separator ',') as UPDATE_CONTENT, DICT_ID;
    
    2024-01-04 16:02:58
    赞同 展开评论 打赏

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

相关产品

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

    更多
    DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
    阿里云瑶池数据库精要2022版 立即下载
    2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载