Я использую свой собственный алгоритм и загружаю данные в формате json из s3. Из-за огромного размера данных мне нужно настроить режим конвейера. Я следовал инструкциям, приведенным в: https://github.com/awslabs/amazon-sagemaker-examples/blob/master/advanced_functionality/pipe_bring_your_own/train.py. В результате я могу настроить конвейер и прочитать данные успешно. Единственная проблема заключается в том, что канал fifo не читает указанное количество байтов. Например, заданный путь к s3-fifo-каналу,
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
и т. д. Есть ли способ обеспечить количество байтов для чтения? Любое предложение будет полезно. Благодаря.