我有一个来自s3的StreamingBody
,需要打开一段较长的时间(由于处理时间长,文件非常大)。这偶尔会导致错误[Errno 104] Connection reset by peer
我不确定是什么原因造成的,但这里是一个摘录:
import boto3
def csv_stream(s3, key):
obj = s3.get_object(Bucket='bucket', Key=key)
body = obj['Body']
text = codecs.getreader('utf-8')(body)
return csv.reader(text)
s3 = boto3.client('s3')
for key in get_keys():
for row in csv_stream(s3, key):
do_long_transformations(row)
这项工作通常至少需要半天才能完成。 由于重新启动作业总是非常昂贵,因此这里的修复方法是什么
添加重试配置似乎可以解决这个问题
相关问题 更多 >
编程相关推荐