#pentaho #pentaho-spoon #pentaho-data-integration
Вопрос:
я хотел попробовать запустить pentaho с Linux Centos 7. На сервере для этого нет графического интерфейса, поэтому я не могу открыть графический интерфейс Spoon, куда мы обычно перетаскиваем компоненты.
Если мы используем Ложку, мы можем изменить подключение к базе данных, щелкнув Подключение к базе данных, а затем повторно введите хост. Но как мне это сделать, если я не могу открыть Ложку? Есть ли файл или что-то еще, где я могу их изменить?
Ответ №1:
Все файлы преобразований и заданий-это просто XML.
Вы можете отредактировать преобразование в своем ноутбуке с правильными параметрами, сохранить его, найти соответствующий фрагмент XML, скопировать, открыть ktr на сервере в текстовом редакторе, удалить старое подключение к бд и вставить новое.
На самом деле это может быть немного сложно, если вы что-то испортите, но с несколькими попытками вы должны это сделать.
Комментарии:
1. Хорошо, допустим, у меня есть подключение к базе данных с именем «DB_CONN» с именем хоста «companydomain.com» , но я хотел развернуть на сервере, который я должен использовать IP-адрес вместо домена, поэтому перед развертыванием я должен изменить его с помощью spoon? Есть ли XML-файл или что-то еще, что позволяет сохранить соединение с базой данных? Чтобы я мог изменить его, открыв файл вместо того, чтобы сначала открывать ложку?
2. Существует несколько способов достижения этого эффекта: 1) используйте переменные в параметрах подключения к БД; 2) делитесь подключениями и используйте shared.xml файл для их хранения; 3) используйте jndi. Что для вас лучше всего подходит? Я позволю вам изучить все три и решить.
3. Я попробовал номер 1, что я сделал, так это щелкнул в меню правка=>установить переменные среды=>>затем я создаю в нем переменные. Затем в соединении я использовал переменные, и оно прошло успешно. Но знаете ли вы, где находится файл, в котором я могу изменить значение своих переменных?
4. Я читал, что это в файле kettle.properties. Но я, похоже, не нашел файл или папку .kettle в своей папке интеграции данных
5. Он находится не в папке интеграции данных, а в домашней папке пользователя
Ответ №2:
Вы можете использовать файл JSON для изменения подключения к базе данных в интеграции данных Pentaho без использования графического интерфейса.
Установите переменную и значение подключения к базе данных в этой переменной внутри файла JSON, чтобы в следующий раз вы просто перетащили файл JSON на сервер, где вы не можете открыть графический интерфейс Spoon, чтобы изменить значения подключения к базе данных.
Позвольте мне объяснить, как мы это делаем.
Сначала создайте преобразование, в котором мы возьмем файл JSON в качестве входных данных и установим это значение в переменную, чтобы позже использовать это значение в любом месте этого задания как ${переменное имя}.
Файл JSON выглядит так …
Просмотрите и добавьте свой файл JSON …
Перейдите на вкладку Поля и выберите поле …
Теперь на шаге установить переменную перейдите к получению полей …
Теперь предположим, что мы создали эти переменные в файле JSON, теперь мы используем эти переменные для создания подключения к базе данных.
${mysql_host}
${mysql_port}
${mysql_username}
${mysql_password}
${mysql_database_name}
подобный этому…
Таким образом, вы можете создать свой ETL с динамическим подключением к базе данных в Pentaho Data Integration. Просто замените файл JSON на сервере, тогда подключение к базе данных будет изменено во всем пакете ETL.
Этот пример пакета ETL можно загрузить по этой ссылке: Скачать