我有一个需要从多个windows设备发送CSV数据的用例,比如使用率。我们有目标使用小时数,例如80小时,必须共同完成。现在,每台PC将通过kinesis流发送其使用情况,并且在云中使用EMR,我们将更新覆盖范围。
例如PC1- 10小时、PC2-20小时、PC3 -5小时、PC4 -5小时。因此,现在云将向每台PC发送80-(10+20+5+5)/4 = 10。现在他们每个人只需要跑10个小时。数据将会流传输。但我们必须将数据保存在S3中,并处理并发送回电子病历。
我们使用AWS sdk .net发送数据。一旦数据进入kinesis流中,我需要理解在云中做什么所需的步骤。
发布于 2016-06-23 14:35:42
根据您的UseCase,有两种方法:
1)基于EMR或基于群集
你可以编写一个spark-streaming程序来使用来自Kinesis的数据,对其进行处理,然后将结果转储到NoSQL或亚马逊S3。同时,您还可以使用KinesisS3Emitter备份原始数据。处理结果后,您可以将其发送到您的PC订阅的SNS主题,您的PC将获得处理后的输出
2)无服务器
您可以创建一个Firehose流,将原始数据传送到S3位置,而不是创建Kinesis Stream。然后,您可以配置Lambda函数来处理这些S3文件,并将结果重定向到您的另一个S3位置或NoSQL。和上面一样,你可以向它发送一个SNS主题,该主题将由您的PC订阅。
这是两种方法(欢迎进行任何修改)。您必须根据您的需求和维护您系统的安全来计算使用的计算速度、成本和资源。例如:代替SNS主题,您可能需要N个PC的N个SNS主题,等等。
在下面评论更多,让人们知道什么是最好的。谢谢
https://stackoverflow.com/questions/37960754
复制相似问题