#etl #rapidminer #data-munging
#etl #rapidminer #сбор данных
Вопрос:
Я пытаюсь помочь своей команде оптимизировать процесс приема данных, который занимает значительное количество времени. Мы получаем данные в нескольких форматах и с атрибутами, расположенными по-разному. Есть ли способ с помощью RapidMiner создать процесс, который:
- Обрабатывает файлы по расписанию, которые помещаются в папку (этот, я думаю, я знаю, но мне бы хотелось получить советы по этому поводу, поскольку запланированные процессы для меня в новинку)
- Автоматически определяет тип входного файла и направляет к правильному оператору (например, «Чтение CSV»)
- Распознает относительно небольшое количество атрибутов и упорядочивает их соответствующим образом. В некоторых случаях атрибуты называются так же, как и наш формат приема, а в других — нет (например, phone против phone # против Phone)
Атрибуты, которые мы обрабатываем, в основном состоят из имени, идентификатора, телефона, электронной почты, адреса. Кроме того, в некоторых случаях имена разделяются на первые / последние, а в некоторых они являются полными именами.
Я понимаю, что сбор файлов для таких простых атрибутов не должен быть таким сложным, но количество файлов, которые мы получаем, и отсутствие порядка очень затрудняют оптимизацию процесса без некоторой автоматизации. Я также собираюсь перейти на стандартизированный формат приема, но по ряду причин это не скорое решение.
Я ценю любые советы или рекомендации, которыми вы можете поделиться.
Ответ №1:
Ваш вопрос относительно широкий, поэтому, к сожалению, я не могу дать вам полный ответ. Но вот несколько идей о том, как я мог бы решить упомянутые вами вопросы:
- Для полноценного планирования процесса сервер RapidMiner — это то, что вам нужно. В этом случае вы можете либо определить расписание (например, регулярно проверять наличие новых файлов), либо даже определить веб-службу для запуска процесса.
-
Для выбора правильного оператора в зависимости от типа файла вы могли бы использовать комбинацию «Циклических файлов» и извлечения макросов, чтобы получить правильный тип, и использовать либо «Ветвление», либо «Выбрать подпроцесс» для переключения на разные маршруты ввода.
-
Оператор «Выбрать атрибуты» имеет несколько очень мощных опций для выбора только определенных подмножеств. В вашем примере я бы выбрал регулярное выражение, похожее на
[pP]hone.*
, чтобы получить разные варианты написания. Также очень полезными в этом случае были бы операторы «Изменить порядок атрибутов» и «Переименовать путем замены» для создания общей схемы именования.
Общий совет при построении более сложных технологических конвейеров — организовать различные задачи в подпроцессах и использовать оператор «Выполнить процесс». Это делает все намного более читаемым и поддерживаемым. Также важна хорошая стратегия обработки ошибок для обработки непредвиденных форматов данных.
Для получения более подробных ответов и советов от многих опытных пользователей RapidMiner я также настоятельно рекомендую сообщество RapidMiner.
Я надеюсь, что это послужит хорошей отправной точкой для вашего проекта.
Комментарии:
1. Привет, Robert1er, я бы рекомендовал спросить в сообществе RapidMiner (www.community.rapidminer.com ) для конкретных решений. Единороги там всегда готовы помочь.