Aws:处理从S3到RDS的数据的最佳方法

时间:2017-08-04 14:23:10

标签: amazon-web-services etl

我认为,我试图实施一个非常简单的过程,但我并不知道什么是最好的方法。

我想从S3读取一个大的csv(大约30gb)文件,进行一些转换并将其加载到RDS MySQL中,我希望这个过程可以复制。

我认为最好的方法是Aws数据管道,但我发现这项服务更适合在几次转换后将来自不同来源的数据加载到红移。 我也看到创建管道的过程很慢而且有点乱。 然后我找到了Coursera的dataduct包装器,但经过一些研究,似乎这个项目已被放弃(最后一次提交是一年前)。

所以我不知道我是否应该继续尝试使用aws数据管道或采取其他方法。

我还阅读了有关AWS简单工作流程和步骤功能的内容,但我不知道它是否更简单。 然后我看到了一个关于AWS胶水的视频,它看起来很不错,但不幸的是它还没有,我不知道亚马逊什么时候推出它。

如你所见,我有点迷惑,有人能让我高兴吗?

提前致谢

2 个答案:

答案 0 :(得分:0)

如果您尝试将它们放入RDS以便查询它们,还有其他选项不需要将数据从S3移动到RDS来执行SQL查询等。

您现在可以使用Redshift spectrum来阅读和查询S3中的信息。

  

使用Amazon Redshift Spectrum,您可以有效地从Amazon S3中的文件查询和检索结构化和半结构化数据,而无需将数据加载到Amazon Redshift表中

步骤1.为Amazon Redshift创建IAM角色

第2步:将IAM角色与群集相关联

步骤3:创建外部架构和外部表

第4步:在Amazon S3中查询您的数据

或者你可以使用Athena来查询S3中的数据,如果Redshift对于需要的工作来说太强大了。

  

Amazon Athena是一种交互式查询服务,可以使用标准SQL轻松直接在Amazon Simple Storage Service(Amazon S3)中分析数据。

答案 1 :(得分:0)

您可以使用ETL工具对csv数据进行转换,然后将其加载到RDS数据库中。有许多开源工具不需要很高的许可成本。这样你可以将数据拉入工具,进行转换,然后工具将数据加载到MySQL数据库中。例如,有Talend,Apache Kafka和Scriptella。这里有一些information用于比较。

我认为Scriptella是这种情况的一种选择。它可以使用SQL脚本(或其他脚本语言),并具有JDBC / ODBC兼容的驱动程序。有了这个,您可以创建一个脚本来执行转换,然后将数据加载到MySQL数据库中。而且您将使用熟悉的SQL(我假设您已经可以创建SQL脚本),因此没有很大的学习曲线。