Как загрузить файл на сервер Pentaho User Console?

Мне нужно :

  • 1) Позвольте пользователю выбрать файл на своем локальном компьютере.
  • 2) Загрузите этот файл на сервер pentaho.
  • 3) Обработайте файл с помощью преобразования чайника

Я попытался использовать источник данных csv в Pentaho User Console (PUC) 5.0, но не нашел способа получить к нему доступ из файла .ktr, загруженного в репозиторий PUC. Я также пытаюсь загрузить файл csv в папку, но по-прежнему не могу получить к нему доступ из файла .ktr.


person Dino    schedule 23.06.2015    source источник
comment
Нет смысла загружать файлы ktr в PUC. Их следует загрузить в репозиторий DI. Каковы ваши требования?   -  person Marlon Abeykoon    schedule 23.06.2015
comment
Доступен ли репозиторий DI для версии сообщества? Мое требование - загрузить файл данных csv и файл .ktr в папку PUC. .Ktr должен иметь возможность читать загруженный CSV-файл при его запуске из PUC. Это все.   -  person Dino    schedule 23.06.2015
comment
насколько мне известно, вы не можете выполнить загруженный ktr в PUC. Вы можете прочитать ktr из prpt и получить данные из csv. csv не обязательно должен быть в PUC. Ktr также не требуется для загрузки на DIserver, если вы не планируете это делать.   -  person Marlon Abeykoon    schedule 23.06.2015
comment
Привет, Марлон, это может ... это просто выполняется в фоновом режиме. См. Несколько примеров в папках PUC.   -  person Dino    schedule 23.06.2015
comment
Привет @MarlonAbeykoon. В настоящее время существует несколько способов вызвать ktr или jkb из PUC: (1) расписание с использованием xaction или напрямую .ktr / .jkb (2) CDE и т. Д.   -  person JRichardsz    schedule 15.01.2018


Ответы (1)


Думаю, это требование справедливо:

Загрузите файл данных csv и файл .ktr в папку PUC. .Ktr должен иметь возможность читать загруженный CSV-файл, когда он выполняется из PUC.

Представьте себе простого пользователя с файлом csv. Сможет ли он загрузить файл csv на хост Linux с помощью wincsp, filezilla или другого инструмента ftp ??

Нам нужно предоставить нашему пользователю простую функцию загрузки, поэтому после нескольких часов исследования (исходный код pentaho) без единой строчки документации Pentaho я нашел этот тест:

https://github.com/pentaho/pentaho-platform/blob/master/extensions/src/test/java/org/pentaho/platform/plugin/services/importer/PlatformImporterTest.java, который показал мне, что где-то должен существовать список mimetype.

Итак, после поиска нескольких слов во всей папке pentaho с помощью команды grep я нашел этот файл:

/my_apps/pentaho-server-ce-7.1.0.0-12/pentaho-server/pentaho-solutions/system/ImportHandlerMimeTypeDefinitions.xml

С некоторой интуицией я добавил этот xml

<ImportHandler class="org.pentaho.platform.plugin.services.importer.RepositoryFileImportFileHandler">
  <MimeTypeDefinitions>
    <MimeTypeDefinition mimeType="text/plain" >
      <extension>csv</extension>
    </MimeTypeDefinition>
  </MimeTypeDefinitions>
</ImportHandler>

Внизу файла:

<tns:ImportHandlerMimeTypeDefinitions xmlns:tns="http://www.pentaho.com/schema/" .....
   <ImportHandler ../>
   <ImportHandler ../>
   <!-- PUT CSV CONFIG HERE -->    
</tns:ImportHandlerMimeTypeDefinitions>

Наконец, я перезапустил свой сервер pentaho-server-ce-7.1.0.0-12 и смог загрузить свой CSV-файл, выполнив следующие действия:

  • перейдите по адресу http://localhost:8080/pentaho
  • нажмите и просмотрите файлы
  • выберите какую-нибудь папку
  • нажмите кнопку загрузки (правая сторона)
  • выберите csv и ок

введите описание изображения здесь

Ожидается чтение этого CSV-файла из ktr ...

надеюсь, это поможет

person JRichardsz    schedule 15.01.2018