有没有办法将Amazon S3的Gzip压缩文件加载到Pentaho Data Integration(Spoon)?
“文本文件输入”具有支持Gzip的Compression属性,但此模块无法作为源连接到S3。
有一个“S3 CSV Input”模块,但没有Compression属性,因此无法将Gzipped内容解压缩为表格形式。
此外,无法将数据从S3保存到本地文件。下载的内容只能“跳转”到另一个步骤,但没有步骤可以读取前一步骤中的gzip压缩数据,Gzip兼容的步骤都只能从文件中读取。
所以,我可以从S3获取gzip压缩数据,但我无法将数据发送到可以使用它的任何地方。
我错过了什么吗?有没有办法从非文件源解压缩压缩数据?
答案 0 :(得分:2)
Kettle在处理文件时使用VFS(虚拟文件系统)。因此,您可以通过http,ssh,ftp,zip等获取文件,并在读取文件的所有步骤中将其用作常规本地文件。只需使用正确的“网址”即可。您会找到更多here和here,以及一个非常好的教程here。另外,查看Kettle附带的VFS转换示例。
这是S3的网址模板:s3://<Access Key>:<Secret Access Key>@s3<file path>
在您的情况下,您将使用“文本文件输入”和您提到的压缩设置,选择的文件将是:
s3://aCcEsSkEy:SecrEttAccceESSKeeey@s3/your-s3-bucket/your_file.gzip
答案 1 :(得分:1)
我真的不知道如何,但如果你真的需要这个,你可以寻找使用Pentaho Data Integration提供的S3到VFS功能。我可以在我的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>
答案 2 :(得分:1)
你也可以尝试使用花生水壶中的GZIP输入控制。