У меня есть процессор GetFile, который выбирает большой CSV-файл, содержащий около 100 столбцов.Моя цель - извлечь определенные подмножества столбцов из этого CSV-файла и отправить их в различные таблицы MySQL.
В текущем подходе используются GetFile -> Несколько ConvertRecord Процессоры, в которых имеются разные CSVReader и CSVRecordSetWriters определены, которые соответствуют схемам AVRO на основе схемы таблицы SQL.
Есть ли способ иметь только один GetFile и маршрутизировать подмножества на разные процессоры, в отличие от репликации большого файла CSV в нескольких потоках, которыйзатем получить разные процессоры ConvertRecord?
Это поток, который я сейчас имею,
Как видно, файл CSV реплицируется на несколькопути и делает вещи очень неэффективными.В этом примере размер составляет 57 байт, но обычно я получаю ~ 6 ГБ файлов размером 60-70, таких как ConvertRecord paths
Как я могу эффективно направлять свои данные, если я знаю, какие подмножествастолбцы нужно извлечь из файла CSV и отправить в разные таблицы?Пример:
Столбец A, B перейти к одному столу
Столбец A, C Перейти ко второму столу
Столбец A, D, E перейти к третьему столу
Столбец A, D, F, G перейти к третьему столу ....