Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 将大型csv文件从s3复制到redshift的最佳方法是什么?_Amazon Web Services_Amazon S3_Aws Lambda_Aws Glue_Amazon Kinesis - Fatal编程技术网

Amazon web services 将大型csv文件从s3复制到redshift的最佳方法是什么?

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分钟以上的作业。那么我应该使用它还是干脆

我正在做一项将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层即可实现红移。希望这有帮助