使用 Sqoop 将表从 AWS RDS 移动到 AWS EMR 的问题

Posted

技术标签:

【中文标题】使用 Sqoop 将表从 AWS RDS 移动到 AWS EMR 的问题【英文标题】:Issue with moving a table from AWS RDS to AWS EMR using Sqoop 【发布时间】:2020-04-05 07:54:03 【问题描述】:

我有一个使用 postgres 的带有单个表的 AWS RDS 数据库。 现在我想将我的数据移动到 AWS EMR,以便我可以使用 Hadoop 来处理它。

我发现了这个博客: https://aws.amazon.com/blogs/big-data/migrate-rdbms-or-on-premise-data-to-emr-hive-s3-and-amazon-redshift-using-emr-sqoop/

并决定给sqoop一个机会,所以我按照博客中描述的方法。 但是,当我尝试运行这个 sn-p 来测试与 RDS 的连接时:

sqoop eval --connect "jdbc:postgresql://****.****.us-east-1.rds.amazonaws.com:5432" --query "select count(*) from table ****" --用户名**** -P

我得到以下错误输出:error_part1 error_part2

我尝试查找错误代码 600000 和部分错误输出,以查看我们的人员之前是否遇到过并解决了此问题,但没有成功。

在我看来 sqoop 在连接到 RDS 时遇到问题,但出于测试目的,我已经设置了我的 RDS 安全规则以允许任何入站/出站流量。

我在弄清楚导致此错误的原因以及如何解决它时遇到了问题,但到目前为止没有任何进展。非常感谢任何帮助!

【问题讨论】:

请粘贴错误信息而不是发布截图:***.com/help/how-to-ask 【参考方案1】:

看起来像是 SSL(传输层加密)问题。尝试将您的网址更新为:

"jdbc:postgresql://****.****.us-east-1.rds.amazonaws.com:5432?ssl=true"

这可能使它使用 SSL 并正常工作。

参考:https://jdbc.postgresql.org/documentation/head/connect.html

【讨论】:

谢谢!我试过了,但仍然遇到同样的错误。

以上是关于使用 Sqoop 将表从 AWS RDS 移动到 AWS EMR 的问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 Golang API 将表从 Amazon RDS 导出到 csv 文件

使用 sqoop 将表从 RDBMS 导入 HIVE 后约束是不是仍然存在?

Sqoop - 使用 Avro 格式将表从 Oracle 导入 Hive 的最佳选择是啥?

将一张表从 RDS / postgres 加载到 Redshift

如何使用 Java 将表从 MySQL 导入 Hive?

oracle 11g 如何将表从一个表空间移动到另一个表空间