Измените подключение к базе данных в pentaho без использования графического интерфейса

#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 можно загрузить по этой ссылке: Скачать