建立一个架构来分析来自多个来源的时间流数据流

建立一个架构来分析来自多个来源的时间流数据流

就 AWS 而言,以下最佳实践是什么:

  • 许多物联网医疗设备以大约 256k 的速度收集数据附言
  • 数据是时间序列数据([通道 X 样本] 的矩阵,可以有数百万个样本和数十个通道)
  • 数据保存在 S3 中的文件中,每个会话都记录在数据库中,其中包含一些元数据。到目前为止,我们正在为此使用 RDS。
  • 每个数据集大约 5GB
  • 我们可以访问数据集并希望运行一些分析流程:
    • 访问数据文件
    • 分析步骤:
      • 执行接受数据文件并产生结果(另一个文件或 JSON)的代码(版本管理)
      • 在某个数据库(哪个?)中注册分析步骤并注册结果(如果生成了文件,则注册其位置)
    • 以类似的方式执行另外 N 个分析步骤。分析步骤可以相互依赖,但也可以并行。
    • 第N步的结果即为分析流程的最终结果。

这个想法是提供一种简单的方法,可以在 AWS 上对数据运行代码,而无需实际下载文件并记录对数据执行的分析。

有什么想法可以使用哪些服务和数据库?如何传递数据?对于使用 Python 的数据科学家来说,什么是易于使用的界面?

我有以下想法:

  • 分析步骤是 CodeCommit 中的托管代码存储库(可以是容器)
  • 数据科学家定义流程(JSON 格式)
  • 当数据科学家下达命令时,他的流程就会执行
  • 该流程被注册为数据库中的条目
  • 流程管理器在执行代理之间分配流程
  • 代理是一种获取流程、拉取数据和容器并执行流程的机制
  • 每个代理将流程中的每个步骤注册到数据库中

分析步骤示例:

  1. 过滤
  2. 数据中的工件标签(时间戳)
  3. 统计参数的计算

答案1

听起来您想使用 Elastic MapReduce 进行分析 - 这是一项大数据托管服务。您应该能够使用 EMR Notebooks 进行分析。使用 Kinesis 之类的工具获取数据可能是最好的选择。还有一大堆特定的 IoT 服务,但这些不是我的专业领域。

这是一个相当大且开放的问题——实际上你是在问“如何构建大数据分析平台”,这是一个复杂的问题!我建议你阅读上面列出的服务,看看它们是否满足你的需求,或者让你的公司联系 AWS 寻求专业服务。它不必花很多钱!

相关内容