首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Java框架处理大数据?

如何使用Java框架处理大数据?
EN

Stack Overflow用户
提问于 2016-11-29 10:17:51
回答 1查看 1.2K关注 0票数 0

我对数据科学相当陌生,现在刚刚开始开发一个系统,要求我分析大量数据(例如,每个DB中有500万到600万条记录)。

更大的情况是:我有多个DB,其中包含需要集成的各种数据。在集成数据之后,我还需要执行一些数据分析。最后,我需要将数据可视化给许多客户。

总的来说,我想知道当前处理大数据的技术/趋势是什么(即使用java框架)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-29 11:18:58

答案是:取决于您的非功能性需求。在决定使用哪种技术时,用例将是至关重要的。让我分享我的一个经验,以便澄清我的意思:

在2012年,我需要每月处理200万条非结构化记录,并对每分钟600个请求执行熵(信息论)和相似度算法。我们的设想包括:

  • 记录非结构化,但已经以JSON格式。
  • 熵和相似性的算法是基于DB要匹配的记录的所有内容的(看看Shannon熵公式,您就会了解我所说的复杂性)。
  • 更多的他们100个不同的web应用程序作为客户端的这一解决方案。

考虑到这些需求(以及许多其他需求),在使用Casandra、Hadoop、Voldmort、neo4j执行PoCs之后,以及对压力、弹性、可伸缩性和健壮性的测试之后,我们找到了最佳的解决方案(2012年):

  • Java 7(使用新的垃圾优先(G1)收集器激活)
    • JBoss AS 7(野蝇)+ Infinispan用于MapReduce竞争条件,以及其他集群的控制和分布式缓存需求。

  • Servlet3.0(因为它是非阻塞的I/O)
  • Nginx (那时候是beta版,但与httpd2不同,它已经以非阻塞的方式进行了多个连接)
  • mongoDB (由于我们的原始内容已经采用JSON文档样式)
  • Apache用于所有算法实现,包括MapReduce策略
  • 还有其他的东西。

所以,一切都取决于你的需求。没有银弹。每一种情况都需要一个架构分析。

我记得当时美国宇航局正在用Hadoop处理AWS中每小时1TB的~1 1TB,原因是火星计划与好奇号有关。

在您的情况下,我建议您在需求中注意,可能是Java框架--它不是您所需要的(或者不仅仅是您所需要的):

  • 如果您只打算实现数据分析、统计人员和数据矿工(例如)的算法,那么R编程语言可能是最好的选择。
  • 如果您需要一个非常快的I/O (例如飞机之类的东西):任何本地编译语言,如Go Lang、C++等等。
  • 但是,如果您实际上要创建一个仅仅是客户端的web应用程序,或者提供大数据解决方案,我推荐一些更软、更可伸缩的技术,比如nodeJS,甚至是一种及时编译的技术,比如那些基于JVM (Scala、Jython、Java)的技术.

祝好运!(不好意思,Stack溢出还不允许我添加引用链接--但我在这里讨论的所有内容都可以很容易地被谷歌搜索)。

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

https://stackoverflow.com/questions/40863269

复制
相关文章

相似问题

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