hadoop在我的项目中有用吗?

oogrdqng  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(427)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

6年前关门了。
改进这个问题
几天前,我的公司要求我找到启动一个项目的要求。这个项目正在创建一个电子书商店。这个术语很简单,但数据总量约为4tb,文件数约为500000。
当我的团队成员使用php和mysql时,我尝试在apache周围寻找大数据。显然,我面对的是apache haadoop和mysql集群。但在谷歌上挖了几天之后,我现在完全糊涂了!我现在有这些问题:
即使这些数据量(4-5tb)也被视为大数据吗(一些消息来源说至少5tb的数据应该使用hadoop,另一些消息来源说hadoop的大数据意味着zetabytes和petabytes)
hadoop是否附带了自己的特殊数据库,或者应该与mysql等一起使用。?
hadoop是只在集群上工作,还是在单节点服务器上也可以?
因为我最近面对这些条款,我相信我的一些或所有问题可能真的很愚蠢。。。但如果您对这类项目有其他建议,我将不胜感激。

bxjv4tth

bxjv4tth1#

这应该是一个评论,但它太长了。
hadoop是一个用于编写并行软件的框架,最初由yahoo编写。它松散地基于google在20世纪90年代开发的一个框架,而这个框架又是lisp语言中map-reduce原语的并行实现。你可以把hadoop看作是一堆运行在你自己的硬件或云上的硬件上的库。这些库提供了java和其他语言的编程接口。它允许您利用处理器和磁盘的集群(使用hdfs)。它的主要特性是可伸缩性和容错性,这两个特性对于大数据问题都非常重要。
hadoop实现了一种围绕map reduce的并行实现构建的编程方法。那是最初的申请。现在,很多东西都是建立在hadoop之上的。您应该从apache项目描述和wikipedia页面开始了解更多信息。
有几个数据库支持hadoop接口(我想到的是asterdata)。当一个人想到“数据库”和“hadoop”时,通常会想到pig或hive或一些相关的开源项目。
至于你的问题。如果您的数据自然地符合关系数据库(带有通过键连接的列的表),那么就使用关系数据库。如果您需要在具有分层数据的web应用程序上获得快速性能,那么请了解nosql解决方案,例如mongodb。如果您的数据具有复杂的结构,并且需要可伸缩性,并且您的团队具有编程技能,那么可以考虑使用基于hadoop的组件来实现该解决方案。而且,对于一个大型项目,不同的组件通常需要多种技术——使用nosql的实时操作、使用sql的报告、使用sql和hadoop组合的即席查询(例如)。

esyap4oy

esyap4oy2#

以下是我的简短回答
即使这些数据量(4-5tb)也被视为大数据吗(一些消息来源说至少5tb的数据应该使用hadoop,另一些消息来源说hadoop的大数据意味着zetabytes和petabytes)
是和否。对于某些用例,这是不够大的数据,而对于其他的,它是。应该提出和回答的问题
这个数据正在增长。增长率是多少。
你会时不时地对这些数据进行分析吗
hadoop是否附带了自己的特殊数据库,或者应该与mysql等一起使用。?
是的,hadoop有hdfs文件系统,它可以存储flatfile并且可以像数据仓库一样处理。但这可能不是最好的解决办法。您可能想看看像cassandra、hbase、mongodb这样的nosql数据库
hadoop是只在集群上工作,还是在单节点服务器上也可以?
从技术上讲,hadoop可以在一个节点上以伪集群或独立模式运行。但这只是用于学习或测试目的的发展。对于任何生产环境,您都应该考虑跨越多个vm的hadoop集群。。。。我在prod中看到的最小值是6vm。
因此5tb对于关系数据库(支持集群)来说并不是很大的容量。但是,支持关系数据库的成本随着容量的增加呈指数增长。使用hadoop和hdfs,成本非常低。。。。加上Cassandra或hbase…没什么区别。但是请记住,简单地使用hadoop,您看到的是一个高延迟系统。如果您期望hadoop能够实时回答您的查询…请注意其他解决方案(例如:“列出所有借出到xyz的书”这样的查询,然后从数据库中获取它。。。不要对该查询使用hadoop)。
总的来说,我的建议是,在youtube、cloudera上一堂hadoop速成课,试着获得一些关于什么是hadoop和什么不是hadoop的专业知识,然后决定。你的问题给人的印象是,你有一个漫长的学习曲线,值得接受这一挑战。

相关问题