大数据处理的开发经验
大数据已经不是什么新话题了,在实际的开发和架构过程中,如何为大数据处理做优化和调整,是一个重要的话题,最近,咨询师Fabiane Nardon和Fernando Babadopulos在“Java Magzine”电子期刊中发文分享了自己的经验。 作者在文中首先强调了大数据革命的重要性:
文章介绍了Apache Hadoop,一个允许对大数据集进行分布式处理的框架,可能是这些工具中最为人熟知的一个了。除了提供强大的MapReduce实现和可靠的分布式文件系统——Hadoop分布式文件系统(HDFS)——之外,也有一个大数据工具的生态系统构建在Hadoop之上,包括以下内容:
虽然这些工具是强大的,但它们也增加了许多开销,除非你的数据集非常大,否则是无法抵消这些成本的。比如,可以在一个非常小的数据集上尝试运行文章中提供的代码示例,比如一个只有一行的文件。你将会看到,处理时间将会比你所预期的时间长很多。如何确定你是否真的有一个大数据的问题?文章指出,虽然没有固定的数据,但有几个指标可以用来帮你决定你的数据是否足够大:
作者特别强调,如果你决定用Hadoop来分析你的数据集,那么随着数据的增加,你会希望避免性能瓶颈。你可以将很多配置调整应用到Hadoop集群上去,并且如果你的应用程序处理数据的速度没有达到你需要的那么快时,你可以一直添加更多的节点。但是,请记住,没有什么会比你自己的代码更高效对你的大数据应用程序产生更大的影响了。
在云中部署大数据应用程序有许多优点。文章指出,随着数据量的增大,你可以根据需要购买更多的机器,并且可以为峰值做好准备。然而,如果要在不产生高昂的扩展费用的前提下使用云服务,你得在脑中考虑好云平台的特殊性后再构建应用程序。首先,更加高效的代码意味着更少的处理时间,也就是较少的托管费用。每次你添加一个新节点到你的集群中的时候,你就是在增加更多花费,因此确保你的代码尽可能的有效是个很好的做法。
事实上,在很多大数据应用程序中,甚至可以接受失去一小部分数据。如果你在做统计处理,很常见的事情是,一个没有被处理的小数据集可能不会影响到最终结果,当你创建你的架构时,你可以将此作为你的优势。
文章指出,在云中使用Hadoop的另一个好处是,你可以监视作业的行为,并且即使在工作运行的情况下,你也可以根据需要自动添加或删除节点。Hadoop的容错特性可以确保一切都将继续工作。这里的窍门就是预先配置主节点使其允许一系列从IP地址。这是通过Hadoop安装目录里的conf/slaves文件来完成的。有了这个配置,你可以从预先配置的一个IP地址中启用一个新的从结点,它就会自动加入集群。 ========================== 觉得不错?请点击右上角“...”图标,选择【分享到朋友圈】。感谢您对我们的支持! 如何关注“WEB开发者”微信? 1、点击右上角“...”图标,点【查看官方账号】并关注即可。 2、微信“添加朋友”搜索“WEB开发者”或微信号“admin10000_com”。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |