【问题标题】:Is there a way to load a Gzipped file from Amazon S3 into Pentaho (PDI / Spoon / Kettle)?有没有办法将 Gzipped 文件从 Amazon S3 加载到 Pentaho(PDI / Spoon / Kettle)?
【发布时间】:2011-09-10 09:41:16
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: amazon-s3 pentaho kettle


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

      我真的不知道怎么做,但如果你真的需要这个,你可以通过 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>
      

      【讨论】:

      • 谢谢!已经有一段时间了,我目前没有积极使用 Pentaho,但是当我回到 Pentaho 时我会尝试一下。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-07
        相关资源
        最近更新 更多