Я думаю, что вы, возможно, пытаетесь втиснуть круглый колышек в квадратное отверстие.Похоже, что вы глотаете поток событий с неизвестной схемой, и вы хотели бы сохранить его в формате, который оптимизирует для известной схемы.
Я полагаю, вы можете буферизовать определенное количество событий (скажем,(1 миллион событий), отслеживая схему, затем удалите файл, как только число будет достигнуто, и снова начните буферизацию.Недостатком является то, что каждый файл будет иметь разную схему, что делает непрактичным обработку данных в нескольких файлах.
Другим решением будет поиск хранилищ данных без схемы, хотя вы не получаете ту же цену-производительные преимущества, как с ORC или Parquet на S3.
Есть и другие стратегии, но ваш лучший выбор для долгосрочного решения - поговорить с тем, кто управляет источником событий, которые вы глотаете, и найтиспособ определения схемы заранее.