Подход для большого набора данных для отчетности
У меня в AWS s3 220 миллионов необработанных файлов, которые я собирался объединить в один файл, который оценивается примерно в 10 терабайт. Файл слияния будет служить таблицей фактов, но в формате файла для целей отчетности для аудита.
Необработанные файлы являются исходными данными из приложения. Если в приложение будут внесены какие-либо новые данные, содержимое файла будет изменено.
Я хотел бы спросить, кто-нибудь сталкивался с этим сквозным процессом для этого пользовательского случая?
s3-> ETL (объединение файлов)-> s3 -> отчетность (таблица)
1 ответ
Я лично не пробовал это, но это своего рода то, для чего создана Athena... Пропуск вашего процесса ETL и запрос непосредственно из файлов. Есть ли причина, по которой вы записываете все это в один файл, а не разбрасываете его? Переписывать файл размером 10 ТБ снова и снова очень дорого и отнимает много времени... Я бы лично по крайней мере исследовал хранение файлов 1-1 с исходными файлами.
- Создайте триггер s3, который срабатывает при перезаписи файла на s3
- Создайте лямбду, которая создает ваши файлы отчетов "готов к аудиту" на s3
- Используйте AWS Athena для запроса этих файлов отчетов.
- Tableau разъем для Афины для ваших отчетов