Интересно, поддерживает ли Kettle (AKA Pentaho PDI) изменение метаданных во время выполнения.Pentaho Kettle: изменение мета во время выполнения
Я реализовал несколько пользовательских плагинов:
- Первый плагин отправляет данные на второй плагин. Метаданные строк, отправленных на выходе, могут измениться при возникновении некоторых условий. На практике это означает, что
processRow()
начинается с определенных метаданных, а затем через некоторое время он меняет его. Конечно, строка, отправленная на выходе черезputRow()
, всегда синхронизируется с соответствующими метаданными. - Второй плагин получает данные от первого плагина, вызывая
getInputRowMeta()
для понимания метаданных полученной строки. Однако такие метаданные не синхронизируются с полученной строкой.
Учитывая результаты этого простого примера, интересно, если двигатель чайника поддерживает этот вид поведения времени выполнения --- т.е. если getInputRowMeta()
возвращает правильные метаданные для конкретной строки, которая была получена.
Кто-нибудь может предоставить доказательства того, что изменение метаданных на самом деле невозможно? В противном случае существует ли безопасный способ получения метаданных определенной строки, полученной в processRow()
?
Мы можем использовать «Шаг выбора значений» после изменения метаданных исходного потока, и он будет получать новые метаданные оттуда, но в конце последнего шага (например, выход CSV, вывод таблицы и т. Д.) Необходимо будет метаданные, поэтому мы должны быть уверены в последнем типе данных каждого из них. – suraj08