就 AWS 而言,以下最佳实践是什么:
- 许多物联网医疗设备以大约 256k 的速度收集数据乙附言
- 数据是时间序列数据([通道 X 样本] 的矩阵,可以有数百万个样本和数十个通道)
- 数据保存在 S3 中的文件中,每个会话都记录在数据库中,其中包含一些元数据。到目前为止,我们正在为此使用 RDS。
- 每个数据集大约 5GB
- 我们可以访问数据集并希望运行一些分析流程:
- 访问数据文件
- 分析步骤:
- 执行接受数据文件并产生结果(另一个文件或 JSON)的代码(版本管理)
- 在某个数据库(哪个?)中注册分析步骤并注册结果(如果生成了文件,则注册其位置)
- 以类似的方式执行另外 N 个分析步骤。分析步骤可以相互依赖,但也可以并行。
- 第N步的结果即为分析流程的最终结果。
这个想法是提供一种简单的方法,可以在 AWS 上对数据运行代码,而无需实际下载文件并记录对数据执行的分析。
有什么想法可以使用哪些服务和数据库?如何传递数据?对于使用 Python 的数据科学家来说,什么是易于使用的界面?
我有以下想法:
- 分析步骤是 CodeCommit 中的托管代码存储库(可以是容器)
- 数据科学家定义流程(JSON 格式)
- 当数据科学家下达命令时,他的流程就会执行
- 该流程被注册为数据库中的条目
- 流程管理器在执行代理之间分配流程
- 代理是一种获取流程、拉取数据和容器并执行流程的机制
- 每个代理将流程中的每个步骤注册到数据库中
分析步骤示例:
- 过滤
- 数据中的工件标签(时间戳)
- 统计参数的计算
答案1
听起来您想使用 Elastic MapReduce 进行分析 - 这是一项大数据托管服务。您应该能够使用 EMR Notebooks 进行分析。使用 Kinesis 之类的工具获取数据可能是最好的选择。还有一大堆特定的 IoT 服务,但这些不是我的专业领域。
这是一个相当大且开放的问题——实际上你是在问“如何构建大数据分析平台”,这是一个复杂的问题!我建议你阅读上面列出的服务,看看它们是否满足你的需求,或者让你的公司联系 AWS 寻求专业服务。它不必花很多钱!