我正在使用自己的算法,并从S3以JSON格式加载数据。由于数据量庞大,我需要设置pipe模式。我已经按照以下网址中给出的说明进行操作:https://github.com/awslabs/amazon-sagemaker-examples/blob/master/advanced_functionality/pipe_bring_your_own/train.py。结果,我能够成功设置pipe并成功读取数据。唯一的问题是fifo pipe没有按照指定的字节数读取数据。例如,给定s3-fifo-channel的路径,
数据的长度应该为555444333字节,但通常少于12,123,123字节左右。S3中的数据如下所示:
number_of_bytes_to_read = 555444333
with open(fifo_path, "rb", buffering=0) as fifo:
while True:
data = fifo.read(number_of_bytes_to_read)
数据的长度应该为555444333字节,但通常少于12,123,123字节左右。S3中的数据如下所示:
s3://s3-bucket/1122/part1.json
s3://s3-bucket/1122/part2.json
s3://s3-bucket/1133/part1.json
s3://s3-bucket/1133/part2.json
等等。 有没有办法强制读取特定数量的字节?任何建议都将很有帮助。谢谢。