Amazon web services 使用EMR将Amazon S3数据导出到本地数据库

Amazon web services 使用EMR将Amazon S3数据导出到本地数据库,amazon-web-services,amazon-s3,emr,Amazon Web Services,Amazon S3,Emr,有没有人使用EMR将S3数据从AmazonAWS导出到本地数据库?我想编写一个定制的M/R解决方案,它将提取某些数据并并行加载到本地网络数据库实例中。我在亚马逊网站上没有看到任何声明这是可能的还是不可能的。大量提到在AWS实例中移动数据。当你说“本地网络数据库”时,你指的是EC2实例上的数据库还是本地网络上的数据库 任何一种方法都是可能的-如果您使用的是非EC2或非AWS数据库,请确保打开您的安全组/防火墙以进行必要的网络连接 至于将数据从S3加载到本地数据库: 您可以使用EMR处理来自S3的数

有没有人使用EMR将S3数据从AmazonAWS导出到本地数据库?我想编写一个定制的M/R解决方案,它将提取某些数据并并行加载到本地网络数据库实例中。我在亚马逊网站上没有看到任何声明这是可能的还是不可能的。大量提到在AWS实例中移动数据。

当你说“本地网络数据库”时,你指的是EC2实例上的数据库还是本地网络上的数据库

任何一种方法都是可能的-如果您使用的是非EC2或非AWS数据库,请确保打开您的安全组/防火墙以进行必要的网络连接

至于将数据从S3加载到本地数据库:

  • 您可以使用EMR处理来自S3的数据,并使用映射器将其转换为CSV格式,然后将其批量导入数据库。这可能是最快的,因为从CSV批量导入将允许数据库快速导入数据
  • 您可以使用EMR映射器将数据直接插入数据库,但我不推荐这种方法。如果有多个映射程序直接写入数据库,则很容易使数据库过载,并导致暂停和进程失败
  • 当你说“本地网络数据库”时,你指的是EC2实例上的数据库还是本地网络上的数据库

    任何一种方法都是可能的-如果您使用的是非EC2或非AWS数据库,请确保打开您的安全组/防火墙以进行必要的网络连接

    至于将数据从S3加载到本地数据库:

  • 您可以使用EMR处理来自S3的数据,并使用映射器将其转换为CSV格式,然后将其批量导入数据库。这可能是最快的,因为从CSV批量导入将允许数据库快速导入数据
  • 您可以使用EMR映射器将数据直接插入数据库,但我不推荐这种方法。如果有多个映射程序直接写入数据库,则很容易使数据库过载,并导致暂停和进程失败

  • 谢谢Suman,是的,我指的是本地网络数据库。我计划直接从reducer中插入,这样我可以控制并行度因子,确保不会使数据库崩溃。为什么要使用减速机呢?如果不需要聚合原始数据,那么可以直接在映射器中进行聚合。当然,如果您需要使用reducer步骤,那么一定要在reducer中执行。顺便说一句,我已经完成了#1和#2:)这就是为什么我知道它可以工作的原因。reducer允许我指定到RDMB的连接数。如果我使用100个reducer运行并关闭推测执行,那么只会建立100个到RDBMS的连接。可能可以使用自定义InputFormat并在mapper中执行此操作,但我必须实现自定义InputFormat并使用S3输入拆分(基本上是将多个拆分传递给读者)。谢谢Suman,是的,我指的是本地网络数据库。我计划直接从reducer中插入,这样我可以控制并行度因子,确保不会使数据库崩溃。为什么要使用减速机呢?如果不需要聚合原始数据,那么可以直接在映射器中进行聚合。当然,如果您需要使用reducer步骤,那么一定要在reducer中执行。顺便说一句,我已经完成了#1和#2:)这就是为什么我知道它可以工作的原因。reducer允许我指定到RDMB的连接数。如果我使用100个reducer运行并关闭推测执行,那么只会建立100个到RDBMS的连接。可能可以使用自定义InputFormat并在mapper中执行此操作,但我必须实现自定义InputFormat并使用S3输入拆分(基本上是将多个拆分传递给读取器)。