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

实时计算 Flink版使用dinky来运行flinksql为啥没有sink呢?

实时计算 Flink版使用dinky来运行flinksql为啥没有sink呢?

展开
收起
真的很搞笑 2023-10-18 17:40:15 68 0
3 条回答
写回答
取消 提交回答
  • 实时计算 Flink 版使用 Blink Planner(也称为 Dinky)作为 Flink 的 SQL & Table API 的执行引擎,Dinky 是 Flink 在版本1.11及以后引入的一种执行计划器。然而,在某些情况下,可能会发现在 Dinky 中没有特定的 Sink 操作。

    这是因为在 Dinky 计划器中,对于 Flink 的 SQL & Table API,不再使用传统的 Sink 操作符。相反,Dinky 使用了更灵活的方式来定义输出目标。输出目标的定义通过在 SQL 或 Table API 中使用 INSERT INTO 语句来指定。INSERT INTO 语句用于将数据流发送到目标系统。

    用法示例:

    在 SQL 中使用 INSERT INTO

    INSERT INTO outputTable SELECT * FROM inputTable WHERE ...
    

    在 Table API 中使用 insertInto()

    tableEnv.executeSql("CREATE TABLE outputTable (...) WITH (...)");
    Table outputTable = tableEnv.from("inputTable").where(...);
    outputTable.insertInto("outputTable");
    

    通过使用 INSERT INTO 语句,你可以将数据流定义为输出目标。具体输出目标的配置(如写入数据库、写入文件等),将由相应的 outputTable 的定义来确定。

    需要注意的是,Dinky 计划器的很多特性和语法可能与传统的 Flink 计划器(如 Blink 计划器)有所不同。如果你在 Dinky 中遇到了问题或需要进一步了解,建议查阅相关文档和官方资源,或向 Flink 社区寻求支持和指导。

    2023-10-22 09:47:42
    赞同 展开评论 打赏
  • Dinky是一个基于Apache Flink的数据集成工具,它可以帮助你将数据从源系统移动到目标系统。然而,Dinky本身并不直接支持Flink SQL Sink,因为它主要关注的是数据的抽取和转换,而不是数据的写入。

    如果你想要使用Dinky将数据写入到Flink SQL中,你可能需要使用Dinky的"toFlink"功能,它将数据转换为Flink DataStream,然后你可以使用Flink DataStream API将数据写入到Flink SQL中。

    以下是一个基本的示例:

    from dinky import Dinky
    import pyflink as flink
    
    # 创建一个Dinky实例
    dinky = Dinky()
    
    # 创建一个Flink执行环境
    env = flink.execution_mode(mode='local', parallelism=1)
    
    # 创建一个Flink DataStream
    ds = env.from_collection('my_source', type_info=types.TupleTypeInfo(types.StringTypeInfo(), types.IntegerTypeInfo()))
    
    # 使用Dinky将数据转换为Flink DataStream
    converted_ds = dinky.to_flink(ds)
    
    # 将数据写入到Flink SQL
    sink_config = {'connector': 'filesystem', 'path': 'file:///tmp/output'}
    converted_ds.sink(sink_config).name('my_sink').execute()
    

    在这个示例中,我们首先创建了一个Dinky实例和一个Flink执行环境。然后,我们创建了一个Flink DataStream,并使用Dinky将其转换为另一个Flink DataStream。最后,我们将转换后的数据写入到Flink SQL。

    2023-10-21 17:53:22
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    Dinky是阿里巴巴开源的基于Flink的流批一体化数据汇聚、数据同步的实时计算平台。在Dinky中运行Flink SQL,您应该可以在SQL语句中使用INSERT INTO语句来指定输出到哪个表或文件。然而,如果在您的查询中没有看到sink相关的语法,可能是因为某些版本的Dinky不支持某些特定的sink。在这种情况下,建议您检查您的Dinky版本和文档,以确定可用的选项和语法。如果问题依然存在,可能需要寻求专业的技术支持或者考虑升级到支持所需功能的Dinky版本。

    2023-10-18 18:40:06
    赞同 展开评论 打赏

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

相关产品

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

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