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

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

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

展开
收起
雪哥哥 2022-11-23 22:02:12 866 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
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

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

    热门文章

    相关电子书

    更多
    SQL Server在电子商务中的应用与实践 立即下载
    GeoMesa on Spark SQL 立即下载
    原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载