使用“复制命令”从Amazon S3到Redshift的数据加载 - 如何在Redshift中存储复制时间

时间:2017-07-17 19:46:12

标签: amazon-web-services amazon-s3 amazon-redshift

我正在使用Amazon Firehose流式传输在线数据,使用Lambda应用转换并通过S3将数据加载到Redshift。 Firehose中的COPY命令是:

COPY <TABLE NAME> FROM 's3 Location' CREDENTIALS 'IAM ROLE' MANIFEST json 'auto' gzip;

我有兴趣了解Firehose制作S3到Redshift副本的确切时间,以便我可以将它存储在Redshift中并将其用于将来的引用。如何在执行复制命令时获得时间?

示例:如果我有数据管道作业,我将获得sysdate,然后将其插入Redshift表。如何在S3到Redshift Copy中完成与此类似的操作?对此有任何直接选择或解决方法吗?

2 个答案:

答案 0 :(得分:0)

由于您已使用AWS Lambda函数执行Amazon Kinesis Firehose Data Transformation,因此您应该让Lambda函数添加日期。然后,这将通过COPY命令流入正在加载的数据。

答案 1 :(得分:0)

我得到了AWS支持团队的回复,我在创建表时应该使用带有sysdate或current_time的默认列,这样当firehose执行复制时,该列将通过复制命令本身更新当前时间。