【问题标题】:Uploading File to S3, then process in EMR and last transfer to Redshift将文件上传到 S3,然后在 EMR 中处理并最后传输到 Redshift
【发布时间】:2017-10-07 10:26:11
【问题描述】:

我是这个论坛和技术的新手,正在寻求您的建议。我正在研究 POC,以下是我的要求。请您指导我实现结果的方法。

  1. 将数据从 NAS 复制到 S3。
  2. 在 EMR 作业中使用 S3 作为源,目标为 S3/Redshift。

任何链接,pdf 也会有帮助。

谢谢, 帕迪普

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-lambda amazon-redshift amazon-emr


    【解决方案1】:

    这里有很多您要问的问题,并且没有太多关于您的用例的信息可供参考,因此我将在回答中非常笼统,并希望它至少为您指明正确的方向。

    1. 您可以使用 Lambda 将数据从 NAS 复制到 S3。假设您的 NAS 在本地,并且假设您在 VPC 中配置了 VPN,甚至配置了 Direct Connect,那么您可以使用启用 VPC 的 Lambda 函数从本地 NAS 读取并写入 S3。

    如果您的 NAS 在 EC2 上运行,则上述内容将保持不变,但不需要 VPN 或 Direct Connect。

    1. 您是否希望从 Lambda 开始 EMR 工作?您可以使用 S3 作为 EMR 的源,然后从 Lambda 内部或通过其他方式输出到 S3。

    如果您可以提供有关您的用例的更多信息,我们可能会为您提供质量更好的答案。

    【讨论】:

    • 谢谢@alanwill,下面是其他细节。 1. 是的,我的第一个用例是从本地 NAS 提取数据,然后使用凭据从共享的第三方开放位置提取数据。 2. 我们也使用了 Lambda,如果有其他替代方案可以踢 EMR 工作,请告诉我们。有没有办法通过EMR(Spark SQL)直接将数据写入Redshit。或者我们需要将结果复制到 S3,然后通过 Lambda 加载到 Redshift。
    • 是的,您可以从 EMR 直接将数据写入 Redshift,这是有关如何使用 docs.aws.amazon.com/redshift/latest/dg/… 的文档链接。您还可以在 Lambda 中自动化整个管道以创建和执行作业,如果您使用 Python,则可以使用 boto3 SDK boto3.readthedocs.io/en/latest/reference/services/emr.html
    【解决方案2】:

    将数据从 NAS 复制到 S3。

    实际上取决于数据量和运行复制作业的频率。如果数据以 GB 为单位,那么您可以在连接了 NFS 的计算机上安装 AWS CLI。像 CP 这样的 AWS CLI 命令可以是多线程的,并且可以轻松地将您的数据集复制到 S3。您还可以启用 S3 传输加速以加快速度。让 AWS Direct 连接到您的公司网络还可以加快从本地到 AWS 的任何传输。

    http://docs.aws.amazon.com/cli/latest/topic/s3-config.html

    http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html

    https://aws.amazon.com/directconnect/

    如果数据以 TB 为单位(可能分布在多个卷中),那么您可能必须根据用例考虑使用 AWS Snowball、AWSImportExport 或 AWS Snowmobile 等物理传输实用程序。

    https://aws.amazon.com/cloud-data-migration/

    在 EMR 作业中使用 S3 作为源,目标为 S3/Redshift。

    同样,由于 EMR 上有很多应用程序,因此有很多选择。 Redshift 支持任何应用程序都可以使用的对 S3 的 COPY/UNLOAD 命令。如果您想在 EMR 上使用 SPARK,那么安装 databricks spark-redshift 驱动程序对您来说是一个可行的选择。

    https://github.com/databricks/spark-redshift

    https://databricks.com/blog/2015/10/19/introducing-redshift-data-source-for-spark.html

    https://aws.amazon.com/blogs/big-data/powering-amazon-redshift-analytics-with-apache-spark-and-amazon-machine-learning/

    【讨论】:

      猜你喜欢
      • 2015-01-03
      • 1970-01-01
      • 1970-01-01
      • 2012-02-10
      • 2017-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多