Я пытаюсь определить трансформацию Pentaho Kettle (ktr) через код. Я хотел бы добавить к преобразованию Шаг ввода текстового файла: http://wiki.pentaho.com/display/EAI/Text+File+Input.Pentaho SDK, как определить ввод текстового файла
Я не знаю, как это сделать (обратите внимание, что я хочу достичь результата в пользовательском приложении Java, не используя стандартный графический интерфейс Spoon). Я думаю, что я должен использовать класс TextFileInputMeta
, но когда я пытаюсь определить имя файла, trasformation больше не работает (он кажется пустым в Spoon).
Это код, который я использую. Я думаю, что третья линия имеет что-то неправильно:
PluginRegistry registry = PluginRegistry.getInstance();
TextFileInputMeta fileInMeta = new TextFileInputMeta();
fileInMeta.setFileName(new String[] {myFileName});
String fileInPluginId = registry.getPluginId(StepPluginType.class, fileInMeta);
StepMeta fileInStepMeta = new StepMeta(fileInPluginId, myStepName, fileInMeta);
fileInStepMeta.setDraw(true);
fileInStepMeta.setLocation(100, 200);
transAWMMeta.addStep(fileInStepMeta);
Спасибо. К сожалению, я не могу загрузить trasformation из файла, я должен создать его с нуля. Код, который вы опубликовали о «TextFileInputMeta», дает мне предупреждения об устаревших классах (например, «TextFileInputField»), и я не знаю, как их решить. Во всяком случае, теперь я использую «CsvInputMeta». Он работает лучше. Но я должен загружать поля так же, как кнопка «Get fields» в Spoon. Как я могу получить это? – ufo
@ufo, в 6.0, шаг TextFileInput был устарел, и рекомендуется новый (рефакторинг) - https://github.com/pentaho/pentaho-kettle/blob/master/engine/src/org/pentaho/di/ trans/steps/fileinput/text/TextFileInput.java. Если вы разместите здесь свой код, я могу попытаться вам помочь. Не зная, где ваши проблемы, на самом деле трудно угадать :) –