【问题标题】:Amazon Redshift to Mysql using Pentaho Data Integration使用 Pentaho 数据集成的 Amazon Redshift 到 Mysql
【发布时间】:2015-01-11 14:40:53
【问题描述】:

我们使用的是 Amazon redshift,数据库是 POSTGRESQL。数据位于亚马逊云中。我们需要使用 Pentaho 数据集成软件将 Amazon redshift 中的数据加载到 Mysql 中。您能告诉我们如何通过 Pentaho 连接到 Redshift 吗???

【问题讨论】:

    标签: mysql linux pentaho amazon-redshift


    【解决方案1】:

    我会尽力帮助你的。

    redshift 连接将需要您的 pentaho 数据集成的 lib 文件夹中的 PostgreSql JDBC。但是 Pentaho 自带的红移有一些问题,这可以通过删除现有的并使用 8.4 版本来解决(见this link

    之后,您可以使用表格输入步骤在转换上创建新连接。您的查询应该可以正常运行。

    您可以添加一个连接到 mysql 数据库的表输出步骤(您还需要下载 de MySQL JDBC 连接器并将其放置在 lib 文件夹中)。

    另一种输出是MySQL Bulk Loader Step,它具有出色的性能。但是对于第一次测试,表格输出步骤应该可以完成工作。

    【讨论】:

      【解决方案2】:

      我们在我当前的项目中解决了完全相同的问题,我们需要从 RedShift 聚合大型数据集,并且需要将聚合数据导入 MySql 以用于仪表板报告。 如果您已经决定使用 Pantaho 工具,那就太好了。它确实是一个不错的工具,但我们采用了替代方法,因为我们拥有大量数据集,而我们使用 Kettle/Spoon 获得的 Spead 无法满足我们的基准和业务需求。

      我在这里列出解决方案,以便对其他人有帮助。

      1. 触发 psql 选择命令并将结果集重定向到 CSV/TXT 文件。

        psql -U $User -d $db_name -c "Copy (Select * From foo_table LIMIT 10) To STDOUT With CSV HEADER DELIMITER '|';" > foo_data.csv
        
      2. 使用 MySQlImport 实用程序将数据导入 mysql。

        mysqlimport --local --compress  -u $MYSQL_USER -p$MYSQL_PASSWORD -h $MYSQL_HOST $MYSQL_DATABASE --fields-terminated-by='|' --ignore-lines=1 --columns C1|C2|C3|..|C4 TABLE_NAME.CSV
        

        通过上述方法,我们取得了约 100 倍的结果。

      使用与 mysql 相同的方法到 RedShift 也是可行的,唯一的变化是,您可能需要将 mysql 导出的 CSV 推送到 S3 或启用 SSH 以在 psql 脚本中使用复制命令。

      【讨论】:

        猜你喜欢
        • 2013-10-24
        • 1970-01-01
        • 2017-02-27
        • 2016-07-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多