Amazon web services 将大型csv文件从s3复制到redshift的最佳方法是什么?
我正在做一项将csv文件从s3存储桶复制到redshift的任务。我已经找到了多种方法,但我不确定哪种方法是最好的。以下是场景: 每隔一段时间,多个大小约为500 MB-1 GB的CSV文件将添加到我的s3存储桶中。数据可以包含重复项。任务是将数据复制到红移表,同时确保红移中不存在重复数据 以下是我找到的可以使用的方法: 创建一个AWS Lambda函数,该函数将在文件添加到s3存储桶时触发 使用AWS运动 使用AWS胶水 我理解Lambda不应用于需要5分钟以上的作业。那么我应该使用它还是干脆取消这个选项 动觉可以处理大量数据,但这是最好的方法吗 我不熟悉胶水和运动。但我读到胶水可以很慢Amazon web services 将大型csv文件从s3复制到redshift的最佳方法是什么?,amazon-web-services,amazon-s3,aws-lambda,aws-glue,amazon-kinesis,Amazon Web Services,Amazon S3,Aws Lambda,Aws Glue,Amazon Kinesis,我正在做一项将csv文件从s3存储桶复制到redshift的任务。我已经找到了多种方法,但我不确定哪种方法是最好的。以下是场景: 每隔一段时间,多个大小约为500 MB-1 GB的CSV文件将添加到我的s3存储桶中。数据可以包含重复项。任务是将数据复制到红移表,同时确保红移中不存在重复数据 以下是我找到的可以使用的方法: 创建一个AWS Lambda函数,该函数将在文件添加到s3存储桶时触发 使用AWS运动 使用AWS胶水 我理解Lambda不应用于需要5分钟以上的作业。那么我应该使用它还是干脆
如果有人能为我指出正确的方向,这将非常有帮助。如果您利用StepFunctions和S3 Select选项将数据子集过滤成更小的数据块,您肯定可以使用Lambda。您可以让Step函数管理ETL编排,其中您可以执行lambda,该lambda通过S3选择选项有选择地从大数据文件中提取数据。您的预处理状态(参见下面的链接)可用于确定执行要求,然后执行多个lambda,如果您愿意,甚至可以并行执行。这些lambda将处理数据子集以删除DUP,并执行您可能需要的任何其他ETL操作。然后,将处理后的数据写入红移。以下是有助于您整合该体系结构的链接: 此外,这里还有一个我构建的CDK的Python ETL管道示例。您将看到一个S3事件驱动的lambda以及数据处理和DDB或MySQL写入的示例。这将使您了解如何为ETL操作构建全面的lambda。您只需在部署中添加一个psycopg2层即可实现红移。希望这有帮助