Python 数据流输出到Rabbitmq

Python 数据流输出到Rabbitmq,python,apache-spark,rabbitmq,spark-streaming,Python,Apache Spark,Rabbitmq,Spark Streaming,我正在使用spark 2.0(python)。我正在尝试将输出流发送到Rabbitmq。以下是我的建议, def sendPartition(iter): connection = pika.BlockingConnection(pika.URLParameters('amqp://user:pass@ip:5672/')) channel = connection.channel() for record in iter: channel.basic_p

我正在使用spark 2.0(python)。我正在尝试将输出流发送到Rabbitmq。以下是我的建议,

def sendPartition(iter):
    connection = pika.BlockingConnection(pika.URLParameters('amqp://user:pass@ip:5672/'))
    channel = connection.channel()
    for record in iter:
        channel.basic_publish(exchange='ExchangePostingUpdate',
                              routing_key='PostingUpdate',
                              body=json.dumps(record)
                              )

    channel.close()

data_stream.foreachRDD(lambda rdd: rdd.foreachPartition(lambda partition:sendPartition(partition,rabbitconnection)))
它工作得很好。但正如我们在这里看到的,它正在为每个分区建立连接并关闭它。有没有更好的办法

我试图建立一个连接并传递到
sendPartition(iter,conn)
,但没有成功