Существует ли в RapidMiner процесс сбора данных из многих различных форматов?

#etl #rapidminer #data-munging

#etl #rapidminer #сбор данных

Вопрос:

Я пытаюсь помочь своей команде оптимизировать процесс приема данных, который занимает значительное количество времени. Мы получаем данные в нескольких форматах и с атрибутами, расположенными по-разному. Есть ли способ с помощью RapidMiner создать процесс, который:

  • Обрабатывает файлы по расписанию, которые помещаются в папку (этот, я думаю, я знаю, но мне бы хотелось получить советы по этому поводу, поскольку запланированные процессы для меня в новинку)
  • Автоматически определяет тип входного файла и направляет к правильному оператору (например, «Чтение CSV»)
  • Распознает относительно небольшое количество атрибутов и упорядочивает их соответствующим образом. В некоторых случаях атрибуты называются так же, как и наш формат приема, а в других — нет (например, phone против phone # против Phone)

Атрибуты, которые мы обрабатываем, в основном состоят из имени, идентификатора, телефона, электронной почты, адреса. Кроме того, в некоторых случаях имена разделяются на первые / последние, а в некоторых они являются полными именами.

Я понимаю, что сбор файлов для таких простых атрибутов не должен быть таким сложным, но количество файлов, которые мы получаем, и отсутствие порядка очень затрудняют оптимизацию процесса без некоторой автоматизации. Я также собираюсь перейти на стандартизированный формат приема, но по ряду причин это не скорое решение.

Я ценю любые советы или рекомендации, которыми вы можете поделиться.

Ответ №1:

Ваш вопрос относительно широкий, поэтому, к сожалению, я не могу дать вам полный ответ. Но вот несколько идей о том, как я мог бы решить упомянутые вами вопросы:

  • Для полноценного планирования процесса сервер RapidMiner — это то, что вам нужно. В этом случае вы можете либо определить расписание (например, регулярно проверять наличие новых файлов), либо даже определить веб-службу для запуска процесса.
  • Для выбора правильного оператора в зависимости от типа файла вы могли бы использовать комбинацию «Циклических файлов» и извлечения макросов, чтобы получить правильный тип, и использовать либо «Ветвление», либо «Выбрать подпроцесс» для переключения на разные маршруты ввода.

  • Оператор «Выбрать атрибуты» имеет несколько очень мощных опций для выбора только определенных подмножеств. В вашем примере я бы выбрал регулярное выражение, похожее на [pP]hone.* , чтобы получить разные варианты написания. Также очень полезными в этом случае были бы операторы «Изменить порядок атрибутов» и «Переименовать путем замены» для создания общей схемы именования.

Общий совет при построении более сложных технологических конвейеров — организовать различные задачи в подпроцессах и использовать оператор «Выполнить процесс». Это делает все намного более читаемым и поддерживаемым. Также важна хорошая стратегия обработки ошибок для обработки непредвиденных форматов данных.

Для получения более подробных ответов и советов от многих опытных пользователей RapidMiner я также настоятельно рекомендую сообщество RapidMiner.

Я надеюсь, что это послужит хорошей отправной точкой для вашего проекта.

Комментарии:

1. Привет, Robert1er, я бы рекомендовал спросить в сообществе RapidMiner (www.community.rapidminer.com ) для конкретных решений. Единороги там всегда готовы помочь.