Java 仅处理少量(<;100mb)数据时是否使用Hadoop校正工具?

Java 仅处理少量(<;100mb)数据时是否使用Hadoop校正工具?,java,jakarta-ee,hadoop,Java,Jakarta Ee,Hadoop,这更像是一个假设性问题,尽管它确实有一些实际背景。。 我一直在考虑利用hadoop完成一些批处理任务的想法,这些任务需要由我目前正在开发的应用程序来完成。(JBoss7上的JEE6) 具体而言,这将包括一方面对用户生成的输入(例如趋势识别、事件)进行文本分析,另一方面对一批文本文件(例如,存储库中的源代码,但暂时不谈这一点) 当我开始四处阅读时,我注意到hadoop主要关注于庞大的数据集(例如块大小100 mb),这对于真正从这个称为hdfs的漂亮东西中获得一些东西是有意义的 基本上我有两个问题

这更像是一个假设性问题,尽管它确实有一些实际背景。。 我一直在考虑利用hadoop完成一些批处理任务的想法,这些任务需要由我目前正在开发的应用程序来完成。(JBoss7上的JEE6)

具体而言,这将包括一方面对用户生成的输入(例如趋势识别、事件)进行文本分析,另一方面对一批文本文件(例如,存储库中的源代码,但暂时不谈这一点)

当我开始四处阅读时,我注意到hadoop主要关注于庞大的数据集(例如块大小100 mb),这对于真正从这个称为hdfs的漂亮东西中获得一些东西是有意义的

基本上我有两个问题

  • hadoop是做这种工作的正确选择吗?我的意思是,基本的wordcount示例已经解决了我的一个业务需求
  • 考虑到这样一个事实,即使是一个巨大的java项目基本上也可以归结为最多几兆字节的文本文件,这仍然是非常少的数据。。在实现或执行这些任务时,这实际上可能是一个问题吗

  • Hadoop绝对不是用于处理多兆字节作业的工具

    作为参考,HDFS的默认块大小为64MB,因为我们粗略地确定,任何小于64MB的数据都会带来比Hadoop提供的并行性更大的加速开销。因此,如果您的几兆字节的作业在Hadoop上运行,它一次只使用一个处理器,完全不使用平台的并行性

    一般的经验法则是,如果整个数据语料库可以放入单个JVM的RAM中,那么您根本不需要Hadoop。鉴于现在的基本生产机器的可用RAM是几个GB的顺序,那么您不应该考虑Hadoop,直到您移动到多GB的数据大小的范围内。
    对于像文本体这样的小任务,python中有一些自然语言库可能更适合,比如nltk。当然,如果您正在查找的只是字数,那么任何语言都可以,例如本机python或perl。

    会将此标记为已接受的答案,因为它正是我要查找的信息。Thank fish=)将标题更改为手头的真实问题