Boto挂在s3键上读取

2024-09-20 22:54:54 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用boto读取一些大键时遇到问题,而我实际上找不到任何指向我所遇到问题的文档。我在s3中有一个大约3gb的bson,但是我让它从一个同一位置的ec2实例中读取,该实例应该有一个万兆的连接和244gb的ram(一个r3.8xlarge),所以这应该不是问题所在。在

下面复制了代码,但一般都想知道是否有一些提示可以用来指示读取正在进行,或者我们的连接是否存在根本性的问题。在

def redistribute(self):
    w_queue = mp.Queue()
    for bucket in self.buckets:
        for key in self.conn.get_bucket(bucket).list():
            documents = key.read().split('~#^#~')[:-1]  # Hangs on this line
            total = len(documents)
            i = 0.0
            documents = chunk(documents, 100)
            for chunk in documents:
                for line in chunk:
                    w_queue.put(line)
                pool = mp.Pool(processes=10)
                pool.apply_asynch(self.write, w_queue)
                w_queue.join()

Boto功能:

^{pr2}$

Tags: 实例keyinselfforbucketqueueline

热门问题