Как загрузить файл на сервер консоли пользователя Pentaho?
Я нуждаюсь:
- 1) Позвольте пользователю выбрать файл со своего локального компьютера.
- 2) Загрузите этот файл на сервер Pentaho
- 3) Обработать файл, используя преобразование чайника
Я попытался использовать источник данных csv в Pentaho User Console (PUC) 5.0, но не нашел способа получить к нему доступ из файла.ktr, загруженного в репозиторий PUC. Я также пытаюсь загрузить файл csv в папку и все еще не могу получить к нему доступ из файла.ktr.
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-файл из КТР в ожидании...
надеюсь, это поможет