0

我需要 :

  • 1)让用户从他的本地电脑中选择一个文件
  • 2) 将该文件上传到 pentaho 服务器
  • 3)使用水壶转换处理文件

我尝试在 Pentaho 用户控制台 (PUC) 5.0 中使用 csv 数据源,但发现无法从上传到 PUC 存储库的 .ktr 文件访问它。我还尝试将 csv 文件上传到文件夹,但仍然无法从 .ktr 文件访问它。

4

1 回答 1

1

我认为这个要求是有效的:

将 csv 数据文件和 .ktr 文件上传到 PUC 文件夹。.ktr 从 PUC 执行时应该能够读取上传的 csv 文件

想象一个简单的用户,有一个 csv。他能否使用 wincsp、filezilla 或其他 ftp 工具将 csv 文件上传到 linux 主机?

我们需要为我们的用户提供一个简单的上传功能,所以在没有一行 Pentaho 文档的情况下研究了几个小时(pentaho 源代码)后,我发现了这个测试:

https://github.com/pentaho/pentaho-platform/blob/master/extensions/src/test/java/org/pentaho/platform/plugin/services/importer/PlatformImporterTest.java向我展示了一个 mimetype 列表应该是存在于某处。

因此,在使用grep命令在所有 pentaho 文件夹中搜索一些单词后,我找到了这个文件:

/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 文件:

在此处输入图像描述

从 ktr 读取此 csv 文件待定...

我希望这有帮助

于 2018-01-15T19:52:44.223 回答