首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大数据实时机器学习应用的生产体系结构?

大数据实时机器学习应用的生产体系结构?
EN

Stack Overflow用户
提问于 2012-12-06 16:07:03
回答 3查看 3.1K关注 0票数 11

我开始学习一些关于大数据的东西,重点放在预测分析上,为此,我想实施一个案例研究:

我有一个服务器健康信息数据集,每5秒进行一次轮询。我想显示检索到的数据,但更重要的是:我希望运行先前构建的机器学习模型并显示结果(警告服务器将崩溃)。

机器学习模型将由机器学习专家建立,因此这是完全超出范围的。我的工作是将机器学习模型集成到一个运行该模型并在一个不错的仪表板上显示结果的平台中。

我的问题是这个系统的“大图”架构:我看到所有的部分都已经存在(cloudera+mahout),但是我缺少一个简单的集成解决方案来满足我的所有需求,我不相信最新的技术是在做一些定制的软件.

那么,有人能对这样的生产系统(用预测分析显示数据)有所了解吗?这个参考架构?教程/文档?

备注:

  1. 我研究了一些相关的技术: cloudera/hadoop,宾得,mahout和weka。例如,我知道五旬节能够存储大数据,并对这些数据进行特别的Weka分析。使用cloudera和Impala,一个数据专家也可以运行临时查询并分析数据,但这不是我的目标。我想让我的系统运行ML模型,并在一个很好的仪表板上显示结果,同时显示检索到的数据。我正在寻找一个已经允许这种使用的平台,而不是定制的建筑。
  2. 我关注的是五旬节,因为它似乎有一个很好的机器学习集成,但我读的每一个教程更多的是关于“临时”的ML分析,而不是实时的。任何关于该主题的教程都将受到欢迎。
  3. 我不介意开源或商业解决方案(试用)
  4. 根据具体情况,这可能不是大数据:更“传统”的解决方案也是受欢迎的。
  5. 同时,这里有一个宽泛的术语:如果ML模型具有良好的性能,那么每5秒运行一次就足够了。
  6. ML模型是静态的(不是实时更新或更改其行为)。
  7. 我不想为我的例子寻找一个定制的应用程序,因为我的重点是大图:具有预测分析的通用平台的大数据。
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-06 17:01:14

(我是“Mahout”一书的作者之一,并且正在将Mahout中的一些ML商品化,重点关注实时和规模:http://myrrix.com/。我不知道这到底是你想要的,但似乎解决了你在这里提出的一些问题。它可能作为另一个参考点有用。)

你强调了实时和大规模之间的紧张关系。这不是一回事。Hadoop作为一个计算环境,具有很好的扩展性,但却不能实时运行.Mahout的一部分是构建的,Hadoop和那个形式的ML也是。Weka和Mahout的其他部分都倾向于或多或少地实时化,但随后却面临着规模的挑战。

两者都做得很好的ML系统必须有两层:可伸缩的离线模型构建,具有实时在线服务和更新。这就是它应该如何看待推荐者,例如:http://myrrix.com/design/

但是,你对模型的建立没有任何问题,对吗?有人要建一个静态模型吗?如果是这样的话,那就容易多了。实时更新您的模型是有用的,但很复杂。如果没有必要,你只是从静态模型中生成预测,这通常是快速的。

如果您对ML感兴趣,或者运行基于您自己的ML模型的东西,那么我不认为宾得是相关的。

每5秒1次查询并不具有挑战性--这是每5秒1次查询吗?

我的建议是简单地创建一个服务器,该服务器可以根据模型回答查询。只需重用任何老的HTTP服务器容器,比如Tomcat。它可以加载最新的模型,因为它是从某些备份存储发布的,比如HDFS或NoSQL DB。您可以毫不费力地创建服务器的N个实例,因为它们似乎不需要通信。

这里唯一的自定义代码是包装ML模型所需的任何东西。如果您真的不需要构建您自己的模型或动态更新它们,这是一个非常简单的问题。如果你这么做了--更难的问题,但仍然有可能成为建筑师。

票数 8
EN

Stack Overflow用户

发布于 2013-10-31 15:22:57

您可以使用Apache或S4或Storm的组合来配置您自己的数据流分析,并注入您选择的机器学习算法的并行和分布式版本。但大规模并行机器学习算法是一项具有挑战性的工作,也是一个活跃的研究领域。最近取得了一些进展:你可能想看看雅虎!萨摩亚沃巴瓦比特实验室

票数 0
EN

Stack Overflow用户

发布于 2012-12-06 16:19:28

有点像NewRelic

统计

  • 新遗留物是应用程序性能管理(APM)作为服务
  • 175,000+ app过程在全球范围内被监控
  • 10,000+客户
  • 每天收集的20+十亿应用程序指标
  • 每周收集1.7+十亿个网页指标
  • 每个“时间”度量约为250个字节。
  • 每秒钟插入100 k的时间记录
  • 每天新增70亿行数据

架构

  • 平台
代码语言:javascript
复制
- Web UI
代码语言:javascript
复制
    - Ruby on Rails
    - nginx
    - Linux
    - 2 @ 12 core Intel Nehalem CPUs w/ 48Gb RAM

代码语言:javascript
复制
- Data Collector and Web Beacon Services
代码语言:javascript
复制
    - Java
    - Servlets on Jetty
    - App metrics collector: 180k+ requests per minute, responding in 3ms
    - Web metrics beacon service: 200k+ requests per minute, responding in 0.15ms
    - Sharded MySQL using the Percona build
    - Linux
    - 9 @ 24 core Intel Nehalem w/ 48GB RAM, SAS attached RAID 5
    - Bare metal (no virtualization)

奖金

更多信息:http://highscalability.com/blog/2011/7/18/new-relic-architecture-collecting-20-billion-metrics-a-day.html

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13747670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档