3

有没有办法将 Gzipped 文件从 Amazon S3 加载到 Pentaho Data Integration (Spoon) 中?

有一个“文本文件输入”具有支持 Gzip 的压缩属性,但此模块无法连接到 S3 作为源。

有一个“S3 CSV Input”模块,但没有 Compression 属性,因此无法将 Gzipped 内容解压为表格形式。

此外,无法将 S3 中的数据保存到本地文件。下载的内容只能“跳”到另一个 Step,但没有 Step 可以从上一个 Step 读取 gzip 后的数据,Gzip 兼容的 step 都只能从文件中读取。

因此,我可以从 S3 获取压缩数据,但我无法将该数据发送到任何可以使用它的地方。

我错过了什么吗?有没有办法从非文件源解压缩压缩数据?

4

3 回答 3

2

Kettle 在处理文件时使用 VFS(虚拟文件系统)。因此,您可以通过 http、ssh、ftp、zip... 获取文件,并在读取文件的所有步骤中将其用作常规的本地文件。只需使用正确的“网址”。你会在这里这里找到更多,这里还有一个很好的教程。此外,请查看 Kettle 附带的 VFS 转换示例。

这是 S3 的 url 模板:s3://<Access Key>:<Secret Access Key>@s3<file path>

在您的情况下,您将使用“文本文件输入”和您提到的压缩设置,选择的文件将是:

s3://aCcEsSkEy:SecrEttAccceESSKeeey@s3/your-s3-bucket/your_file.gzip

于 2015-02-23T21:49:52.000 回答
1

我真的不知道怎么做,但如果你真的需要这个,你可以通过 Pentaho Data Integration 提供的 VFS 功能寻找使用 S3。我可以在我的 PDI CE 发行版中找到一个包含以下内容的vsf-providers.xml :

../data-integration/libext/pentaho/pentaho-s3-vfs-1.0.1.jar

<providers>
  <provider class-name="org.pentaho.s3.vfs.S3FileProvider">
    <scheme name="s3"/>
    <if-available class-name="org.jets3t.service.S3Service"/>
  </provider>
</providers>
于 2012-02-16T16:09:36.097 回答
1

您也可以在 peanatho 水壶中尝试使用 GZIP 输入控制。

于 2012-03-30T13:26:28.893 回答