Создание динамического пути - PullRequest
0 голосов
/ 11 июля 2019

При разработке преобразований на локальном компьютере я устанавливаю путь преобразования для целевых папок, представленных на локальном ПК, и после завершения тестирования на локальном компьютере я перемещаю наше преобразование в репозиторий серверов, чтобы планировать его из серверных сред, но каждый раз, когда мне требуется изменить путь, заданный для папок сервера. Я считаю, что это может быть сделано путем создания динамического пути или создания любой переменной, но я не могу ее решить. Эта опция доступна в Пентахо? Если да, не могли бы вы помочь мне с настройкой динамического пути?

Ответы [ 2 ]

0 голосов
/ 16 июля 2019

Стандартный способ работы со средами в Kettleis с переменными.

В домашнем каталоге есть (скрытая) папка с именем .kettle, которая содержит все, что должно быть локальным: ваши предпочтения, ваши общие подключения, ваш кеш и, что наиболее важно, файл kettle.property.

Вы можете определить в нем переменные, например, $ {myPath}.Чтобы сделать это, используйте меню Edit/Edit the Kettle.properties и добавьте переменную с именем myPath и задайте ее в качестве значения предпочитаемого пути с необязательным описанием.

Затем, когда вы увидите синий ромб с $ onСправа от поля в окне шага (что означает практически любое поле, которое вам нужно), вы можете нажать Crtl+Enter в поле и выбрать любую переменную, определенную в вашем kettle.properties.В качестве альтернативы вы можете ввести или скопировать / вставить ${your-variable-name} в поле.

Тогда при запуске spoon он будет использовать не жестко заданный путь, а содержимое переменной в чайнике.properties.

И ничто не мешает вам иметь разные свойства kettle.properties на вашем ПК разработчика и на сервере Prod.

Пока мы здесь, три полезных трюка.

  • Предопределенная переменная ${Internal.Job.Filename.Directory} содержит путь текущего преобразования, который используется для относительного пути.Например, ${Internal.Job.Filename.Directory}/../myDir/myFile.ext.

  • Если вы в любом месте экрана right-click и перейдете к Properties/Parameters, вы также можете здесь указать свою переменную.

  • Вы также можете переопределить эти переменные в окне Run Option, которое раздражает вас каждый раз при выполнении преобразования (да, была причина).

  • НаконецВы можете отправлять эти переменные с работы на работу и на работу.

enter image description here

0 голосов
/ 11 июля 2019

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

Вы также можете использовать файл свойств pentaho в разныхокружения, то есть вы можете использовать одну и ту же переменную в обеих средах, скажем, $ {path}, но в каждой среде это имеет свое значение.

kettle.properties можно найти в вашей пользовательской папке .. C:\ Users \ YourUser.kettle

...