Где архитектура Pentaho Kettle?
Вопрос
Где я могу найти Pentaho Kettle architecture?Я ищу короткую вики-статью, дизайн-документ, запись в блоге, что угодно, что дало бы хороший обзор того, как все работает.Этот вопрос предназначен не для конкретных руководств по запуску "как это сделать", а скорее для хорошего ознакомления с технологией и архитектура.
Конкретные вопросы, которые у меня есть, таковы:
- Как происходит передача данных между этапами?Казалось бы, все записано в памяти - прав ли я в этом?
- Верно ли сказанное выше и в отношении различных преобразований?
- Как поживают Собирать реализованные шаги?
- Есть какие-нибудь конкретные рекомендации по его использованию?
- Является ли ftp-задача надежной и производительной?
- Есть еще какие-нибудь "Можно и не нужно"?
Решение
Видеть этот PDF-файл.
Другие советы
- Как происходит передача данных между этапами?Казалось бы, все в память - я прав об этом?
Поток данных основан на строках.Для преобразования каждый шаг создает "кортеж" или строку с полями.Каждое поле представляет собой пару данных и метаданных.Каждый шаг имеет входные и выходные данные.Шаг берет строки из входных данных, изменяет строки и отправляет строки на выходные данные.В большинстве случаев вся информация находится в памяти.Но.Steps считывает данные потоковым способом (например, jdbc или другим) - поэтому обычно в памяти остается только часть данных из потока.
- Верно ли сказанное выше и в отношении различных преобразований?
Существует концепция "работы" и концепция "трансформации".Все написанное выше в основном верно для трансформации.Преобразование "В основном означает" может содержать очень разные шаги, некоторые из них - например, шаги сбора - могут пытаться собрать все данные из потока.Задания - это способ выполнения некоторых действий, которые не соответствуют концепции "потоковой передачи", таких как успешная отправка электронной почты, загрузка некоторых файлов из сети, выполнение различных преобразований одно за другим.
- Как реализуются этапы сбора данных?
Это зависит только от конкретного шага.Обычно, как сказано выше, шаги сбора могут пытаться собрать все данные из потока - наличие so - может быть причиной исключений OutOfMemory.Если данные слишком большие - подумайте о замене шагов "сбора" другим подходом к обработке данных (например, используйте шаги, которые собирают не все данные).
- Есть какие-нибудь конкретные рекомендации по его использованию?
Очень много.Зависит от этапов, из которых состоит преобразование, используемых источников данных.Я бы постарался говорить о точном сценарии, а не об общих рекомендациях.
- Является ли ftp-задача надежной и производительной?
Насколько я помню, ftp поддерживается реализацией EdtFTP, и с этими шагами могут возникнуть некоторые проблемы, такие как - некоторые параметры не сохранены, или http-ftp прокси не работает, или другие.Я бы сказал, что Kettle в целом надежен и производителен, но для некоторых не часто используемых сценариев это может быть не так.
- Есть еще какие-нибудь "Можно и не нужно"?
Я бы сказал, что нужно разобраться в инструменте, прежде чем начинать интенсивно им пользоваться.Как упоминалось в этом обсуждении - есть пара литературы по интеграции данных Kettle / Pentaho, вы можете попробовать поискать ее на определенных сайтах.
Одним из преимуществ Pentaho Data Integration / Kettle является относительно большое сообщество, к которому вы можете обратиться за конкретными аспектами.