【发布时间】:2017-04-11 14:35:47
【问题描述】:
我正在尝试使用 mongoDB 连接器在 SPARK 中执行 python 文件。 python 文件执行查询以从 mongoDB 获取一些数据,然后他们使用 SPARK 中的 map 操作处理这些数据。
执行停止收到此错误消息:“socket.timeout:超时”,而正在执行映射操作。这就是我得到的输出:
Traceback(最近一次调用最后一次):文件 "/home/ana/computational_tools_for_big_data/project/review_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 行,在 收集文件 “/usr/local/spark/python/lib/pyspark.zip/pyspark/rdd.py”,第 142 行,在 _load_from_socket 文件“/usr/local/spark/python/lib/pyspark.zip/pyspark/serializers.py”,行 139、在load_stream文件中 “/usr/local/spark/python/lib/pyspark.zip/pyspark/serializers.py”,行 156,在 _read_with_length 文件中 “/usr/local/spark/python/lib/pyspark.zip/pyspark/serializers.py”,行 543,在 read_int 文件“/usr/lib/python2.7/socket.py”,第 384 行,在 读 data = self._sock.recv(left) socket.timeout: 超时
我遇到这个问题是因为我正在查询的文件非常大,为 2.3GB,我对 1GB 的文件进行了同样的尝试,但它是同样的问题,但它适用于 400MB 的较小文件。
是否可以更改超时或使其正常工作? 有没有其他方法可以更快地处理大量数据?
【问题讨论】:
标签: python mongodb timeout pyspark bigdata