背景
本文基于spark 3.2 driver内存 2G
问题描述
在基于复杂的sql运行中,或者说是存在多个join操作的sql中,如果说driver内存不是很大的情况下,我们经常会遇到如下报错:
Caused by: org.apache.spark.SparkException: Could not execute broadcast in 800 secs. You can increase the timeout for broadcasts via spark.sql.b
扇出(fanout)交换机是将接收到到消息广播给它知道的所有队列,从而实现生产者发送一条消息,可以供多个消费者消费。
案例:一个生产者发送一条消息,通过扇出交换机,广播给两个消费者消费,如下图:
1、创建连接获取信道RabbitUtils工具类,linux上需要关闭防火墙才可以连接上
//连接工厂,创建信道工具类
public class RabbitUtils {
// 得到一个连接的 channel
public static Channel getChan