Amazon web services 消防软管数据管道限制
我的用例如下所示: 我有JSON数据,需要以拼花格式存储在S3中。到目前为止还不错,我可以在Glue中创建一个模式,并将“DataFormatConversionConfiguration”附加到我的firehose流。但数据来自不同的“主题”。每个主题都有一个特定的“模式”。根据我的理解,我必须创建多个消防水带流,因为一个流只能有一个模式。但我有数千个这样的主题,其中包含大量高吞吐量的数据。创建这么多消防水带资源似乎不可行() 我应该如何着手构建我的管道。在我看来,您可以:Amazon web services 消防软管数据管道限制,amazon-web-services,bigdata,amazon-kinesis-firehose,data-pipeline,Amazon Web Services,Bigdata,Amazon Kinesis Firehose,Data Pipeline,我的用例如下所示: 我有JSON数据,需要以拼花格式存储在S3中。到目前为止还不错,我可以在Glue中创建一个模式,并将“DataFormatConversionConfiguration”附加到我的firehose流。但数据来自不同的“主题”。每个主题都有一个特定的“模式”。根据我的理解,我必须创建多个消防水带流,因为一个流只能有一个模式。但我有数千个这样的主题,其中包含大量高吞吐量的数据。创建这么多消防水带资源似乎不可行() 我应该如何着手构建我的管道。在我看来,您可以: 要求升级您的Fi
- 要求升级您的Firehose限制,并使用1 Firehose/stream+add Lambda转换将数据转换为通用模式来完成所有工作-我认为这并不划算,但您应该看到您的负载
- 为每个Kinesis数据流创建Lambda,将每个事件转换为单个Firehose管理的模式,最后可以使用Firehose API将事件直接发送到您的Firehose流(请参见“Q:如何将数据添加到我的Amazon Kinesis数据Firehose交付流?”)——但是,检查之前的成本,因为即使您的lambda是“按需”调用的,但在很长一段时间内,您可能会调用很多lambda
- 使用其中一个数据处理框架(Apache Spark、Apache Flink,…)从Kinesis中批量读取数据,每次读取时间为1小时,从上次终止时开始-->使用可用接收器转换数据并以拼花格式写入。这些框架使用检查点的概念,并将最后处理的偏移量存储在外部存储器中。现在,如果您每小时重新启动一次,他们将开始直接从上次看到的条目读取数据。-这可能是有成本效益的,特别是如果您考虑使用SPOT实例。另一方面,它需要比以前的两个解决方案更多的编码,并且显然可能具有更高的延迟
希望有帮助。您可以就所选解决方案提供反馈吗?嘿,我们使用Flink和Kinesis继续提供解决方案。我们在运动流上运行它。设法使用一个flink接收器,通过向代码中添加一些自定义扩展动态检测新的模式和主题:)@Dexter您是否在flink中使用了Kinesis数据流或Kinesis数据分析?我的问题和你的问题完全一样。还有错误是如何表示的,正如我在Firehose中发现的那样,如果验证不正确,它不会给出正确的错误消息。