开发者社区 > 云原生 > 消息队列 > 正文

问下哈,我现在场景是从kafka接数据源一份到hive一份测流到mq。但是hive sql提交得ta

问下哈,我现在场景是从kafka接数据源一份到hive一份测流到mq。但是hive sql提交得tableapi和stream提交只能运行一个,如何能同时提交两条流

展开
收起
雪哥哥 2022-11-23 22:02:12 860 0
1 条回答
写回答
取消 提交回答
  • 全栈JAVA领域创作者

    您可以在 Flink 中使用多个 StreamExecutionEnvironment 对象来实现同时提交两条流的操作。具体步骤如下:

    创建两个 StreamExecutionEnvironment 对象(例如 env1 和 env2),分别用于处理 Hive SQL 提交和发送数据到 MQ。

    使用 env1 对象来创建 Table 程序,并将其转换为 DataStream,然后将该 DataStream 发送到 Kafka 中。

    使用 env2 对象来创建另一个 DataStream,该 DataStream 从 Kafka 中消费数据,并通过 MQ 发送出去。

    分别调用 env1.execute() 和 env2.execute() 方法来启动两个任务流。

    注意事项:

    如果您需要将数据同时传输到 Hive 和 MQ,可以在第二个 DataStream 的算子中使用 Side Outputs 功能来实现数据的分流。

    考虑到并行度和资源利用率等问题,建议对不同的任务流设置不同的并行度和资源配置。

    2023-04-16 21:48:52
    赞同 展开评论 打赏

多个子产品线联合打造金融级高可用消息服务以及对物联网的原生支持,覆盖多行业。

相关产品

  • 云消息队列 Kafka 版
  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    Hive Bucketing in Apache Spark 立即下载
    spark替代HIVE实现ETL作业 立即下载
    2019大数据技术公开课第五季—Hive迁移到MaxCompute最佳实践 立即下载