План разработки
Порядковый номер | Задача | Статус | Приоритет |
---|---|---|---|
1 | Онлайн-управление, редактирование kettle-скрипта | ✔ | Экстренно |
2 | Кластеризация через исходный код, многопоточное выполнение задач | ✔ | Срочно |
3 | Рефакторинг части JPA и замена её на MyBatis | ✔ | Общий |
Проект планирования Kettle на основе Spring-boot. Код основан на коде zhaxiaodong9860 и странице управления в нём. Бэкенд-код ссылается на API для написания инструментов, что удобно в использовании. В оригинальный код добавлены следующие функции:
Нажмите, чтобы просмотреть демо-среду. Учётная запись: demo. Пароль: demo@1234. Демонстрационная среда, пожалуйста, будьте добры.
Нажмите, чтобы загрузить исполняемый пакет. Код извлечения: e150.
Инструкции по обновлению от 17 декабря 2020 года
Скриншот страницы входа
Домашняя страница (обновлённый стиль)
Новая задача преобразования (обновлённый стиль).
Добавлены параметры страницы для задач преобразования, данные вручную записываются в формате JSON. Поле trans_params добавлено в таблицу k_trans базы данных, также необходимо добавить соответствующий класс сущности. При выполнении задачи параметры извлекаются из trans и устанавливаются в соответствующий скрипт.
//className org.kettle.scheduler.system.biz.quartz.TransQuartz
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
...........
Integer transId = jobExecutionContext.getMergedJobDataMap().getInt("id");
// Получить преобразование
Trans trans = transService.getTransById(transId);
// Установить параметры выполнения
Map<String, String> params = new HashMap<>(2);
String transParams = trans.getTransParams();
Map jsonToMap = JSON.parseObject(transParams);
params.putAll(jsonToMap);
if (StringUtil.hasText(trans.getSyncStrategy())) {
Integer day = Integer.valueOf(trans.getSyncStrategy().substring(2, trans.getSynchronizationStrategy.length()));
params.put("start_time", DateUtil.getDateTimeStr(DateUtil.addDays(DateUtil.getTodayStartTime(), -day)));
params.put("end_time", DateUtil.getDateTimeStr(DateUtil.addDays(DateUtil.getTodayEndTime(), -day)));
}
.........
}
Инструмент онлайн-редактирования скрипта Kettle, тот же способ использования, что и у Kettle на рабочем столе.
Адрес проекта: https://github.com/HiromuHota/pentaho-kettle.
Словарь библиотеки ресурсов: https://35youth.cn/kettleRepository.html.
Выполните скрипт kettle-scheduler-oracle.sql в папке docs в kettle-scheduler-starter для создания таблицы.
Измените конфигурацию подключения к базе данных в application-prod.yml при выполнении среды генерации, а также измените конфигурацию базы данных в application-dev.yml в среде разработки. Если вам нужно изменить порт, измените его в application.yml.
Измените конфигурацию application-kettle.yml, установите путь хранения журнала, путь хранения скрипта Kettle и путь Kettle-home (если путь home не указан, папка .kettle находится под корневым путём текущего пользователя).
Если вам нужно создать пользовательские переменные в файле kettle.properties, скопируйте файл kettle.properties в папку .kettle по пути kettle-home.
Запустите проект, чтобы использовать платформу планирования (имя пользователя: admin, пароль: admin).
Если вы хотите использовать [File Resource Library], вам необходимо скопировать [file-rep] отдельно в проект по заданному пути и настроить библиотеку ресурсов файлов на странице управления, потому что после упаковки Kettle не может получить доступ к файлам в jar. Поэтому их необходимо хранить отдельно.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )