Python socket.timeout mongoDB pyspark

Python socket.timeout mongoDB pyspark,python,mongodb,timeout,pyspark,bigdata,Python,Mongodb,Timeout,Pyspark,Bigdata,我正在尝试使用mongoDB连接器在SPARK中执行python文件。python文件执行查询以从mongoDB获取一些数据,并使用SPARK中的映射操作处理这些数据 执行映射操作时,执行停止获取此错误消息:“socket.timeout:timed out”。这就是我得到的输出: 回溯(最近一次调用上次):文件 “/home/ana/computative\u tools\u for\u big\u data/project/review\u analysis.py”, 第27行,在 bad_

我正在尝试使用mongoDB连接器在SPARK中执行python文件。python文件执行查询以从mongoDB获取一些数据,并使用SPARK中的映射操作处理这些数据

执行映射操作时,执行停止获取此错误消息:“socket.timeout:timed out”。这就是我得到的输出:

回溯(最近一次调用上次):文件 “/home/ana/computative\u tools\u for\u big\u data/project/review\u analysis.py”, 第27行,在 bad_reviews=reviews_1.rdd.map(lambda r:r.text).collect()文件“/usr/local/spark/python/lib/pyspark.zip/pyspark/rdd.py”,第777行,in 收集文件 “/usr/local/spark/python/lib/pyspark.zip/pyspark/rdd.py”,第142行,在 _从\u套接字文件“/usr/local/spark/python/lib/pyspark.zip/pyspark/serializers.py”行加载\u 139,在加载_流文件中 “/usr/local/spark/python/lib/pyspark.zip/pyspark/serializers.py”,第行 156,带长度文件的in_read_ “/usr/local/spark/python/lib/pyspark.zip/pyspark/serializers.py”,第行 543,在read_int文件“/usr/lib/python2.7/socket.py”中,第384行,在 阅读 data=self.\u sock.recv(左)socket.timeout:超时

我遇到这个问题是因为我查询的文件非常大,2.3GB,我用1GB的文件尝试了同样的方法,这是同样的问题,但它适用于400MB的较小文件

是否可以更改超时时间或其他使其工作?
有没有其他方法可以更快地处理大量数据?

您的问题是套接字连接所花费的时间超过了指定的超时时间。 请参阅本文档以更改超时和其他设置

要更改的属性

socketTimeoutMS:(整数或无)控制驱动程序在发送响应后等待响应的时间(毫秒) 在断定 发生网络错误。默认为无(无超时)

例如,MongoClient('localhost',27017,socketTimeoutMS=6000)

当然,根据2.3GB文件传输实际需要的时间,您可能需要超过一分钟(6000),我在示例中提到过

MongoClient的文档

PyMongo MongoClient的文档


我是pymongo客户@安娜正在寻找pyspark mongodb连接器配置设置。