0

我想写通过流水从S3存储流数据到红移的数据是实时流式传输(每分钟600个文件),我不希望任何形式的数据丢失。有没有办法将数据放入S3存储桶的Kinesis Firehose中?

如何把从S3到数据的Kinesis流水?

+1

欢迎计算器! “来自S3存储桶的数据流”是什么意思?数据如何发送到S3?有没有可能将发送实体更改为Firehose而不是S3?一旦进入Firehose,你将如何处理这些数据? –

+0

数据来自SFTP服务器,一旦数据进入S3,我想将它存储在Redshift中。为了避免数据丢失,我想将数据放入流水流中,然后存储到Redshift中。 – Vignesh

回答

0

它实际上专门做相反,流水发送传入数据流亚马逊S3不亚马逊S3和S3相比其它可将数据发送到像红移和Elasticsearch服务等服务。

我不知道这是否会解决您的问题,但你可以使用COPY from S3红移。

希望这将有助于!

0

看来,你的情况是:

  • 文件随机出现在S3 SFTP服务器
  • 您想将数据加载到红移

有两种基本你能方式执行此操作:

  • 将数据直接从Amazon S3加载到Amazon Redshift或
  • 通过亚马逊的Kinesis流水发送数据

坦率地说,有什么好处在通过室壁运动流水发送,因为室壁运动只会批它,将其存储到临时S3文件,然后将其加载到红移。因此,这不是一个有益的方法。

相反,我会建议:

  • 配置在亚马逊S3斗事件来发送消息给Amazon SQS队列每当一个文件被创建
  • 配置亚马逊CloudWatch的活动到定时触发的AWS lambda函数(如每隔一小时,或15分钟,或任何满足您的业务需求)
  • AWS lambda函数读取SQS一个消息第二构造一个manifest file,然后触发红移导入清单文件

这是一个简单的,松耦合的解决方案,这将是比流水的方法更简单(这需要以某种方式读取每个列出的文件文件并将内容发送到Firehose)。

相关问题