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
Amazon web services 如何处理Lambda在S3上添加的文件,并能够将数据转储到redshift中_Amazon Web Services_Amazon S3_Aws Lambda_Amazon Redshift - Fatal编程技术网

Amazon web services 如何处理Lambda在S3上添加的文件,并能够将数据转储到redshift中

Amazon web services 如何处理Lambda在S3上添加的文件,并能够将数据转储到redshift中,amazon-web-services,amazon-s3,aws-lambda,amazon-redshift,Amazon Web Services,Amazon S3,Aws Lambda,Amazon Redshift,我想了解如何在S3存储桶中拥有示例文件,这些文件可以由lambda函数处理,然后能够将数据转储到redshift中 我知道我们可以使用以下aws文档中的COPY命令将数据从S3加载到红移: S3上的文件在经过Lambda函数处理后使用红移的过程是什么? 配置S3 bucket以在上载新文件时触发Lambda函数 Lambda函数可以将文件从S3复制到Lambda环境的/tmp文件夹,然后执行所需的任何处理 处理完成后,如果要执行红移COPY命令,Lambda函数需要首先将新文件复制到S3中的不同

我想了解如何在S3存储桶中拥有示例文件,这些文件可以由lambda函数处理,然后能够将数据转储到redshift中

我知道我们可以使用以下aws文档中的COPY命令将数据从S3加载到红移:

S3上的文件在经过Lambda函数处理后使用红移的过程是什么?

  • 配置S3 bucket以在上载新文件时触发Lambda函数
  • Lambda函数可以将文件从S3复制到Lambda环境的
    /tmp
    文件夹,然后执行所需的任何处理
  • 处理完成后,如果要执行红移
    COPY
    命令,Lambda函数需要首先将新文件复制到S3中的不同位置,可能是一个完全不同的bucket,然后向红移集群发出
    COPY
    命令。或者,Lambda函数可以打开与红移集群的连接,并直接发出
    INSERT
    语句

如果您想进一步解耦流程,可以让Lambda函数简单地将最终输出复制到另一个S3 bucket并退出。然后让第二个S3存储桶触发第二个Lambda函数,该函数向红移发出
COPY
命令。

这个答案是正确的。但是,在将值直接插入到红移中时,应添加注意事项。这是可行的,但如果频繁地进行大型更新,那么红移将非常繁重。它不是为了以这种方式高效地移动数据而设计的,这样做会影响leader节点,并可能导致整个群集的速度降低。谢谢,正是我想要的,非常感谢:)