大家好,今天小编关注到一个比较有意思的话题,就是关于基于hadoop的搜索引擎的问题,于是小编就整理了1个相关介绍基于hadoop的搜索引擎的解答,让我们一起看看吧。
Hadoop一般用在哪些业务场景?
- Hadoop可以做大数据量存储,它是分布式,可以存储离线的数据,不需要实时性的数据,就像云盘,网盘那样,你用的时候,可以直接读取就行。
- 你也可以将历史数据存储在Hadoop上,通过整体来分析数据,比抽样的数据要全,更可靠。
- 还可以处理大型文件,比如PB级别的,因为它的HDFS是分布式存储数据的,它会将数据按块来进行存储,一般是128M,现在3.0是256M。
- Hadoop可以做日志处理: 通过MapReduce编程可以抽取想要的内容,也可以结合Flume来收集想要的数据,并通过Hive将数据保存到表,实际上数据底层还是存储在Hadoop上,进行日志分析。
- Hadoop支持并行计算,因为它是分布式的,数据是存储在不同的机器上,如果你的需求满足分布式计算,那你就可以用MR来就行海量计算。我曾经用MR做过算法,那是2年前啦。
- Hadoop还可以将数据从oracle、mysql、DB2、mongdb等的数据进行ETL处理后,存储在HDFS上进行保存。它有三个副本,非常可靠。
- Hadoop还可以通过使用HBase做数据分析,因为HBase是基于Hadoop的数据库, 可以实现实时性,高效和随机读写。
Hadoop包含三个组件,yarn,MapReduce,HDFS 。其中 yarn是一个资源管理器用来管理集群的资源(CPU,内存)。MapReduce 是一个计算框架,适合做大数据离线计算。HDFS 是分布式存储,用来做海量数据存储。
Hadoop 发展这么多年已经衍生了一个非常庞大的生态,单单使用Hadoop (yarn , mapreduce , hdfs)这个大数据组件能做的事情有限,但是结合衍生出来的生态产品(hive,flume,sqoop, hbase , spark)就可以做很多事。比如
- 结合 hive 用来做数据仓库,整合管理整个公司的数据。
- 结合 sqoop 把关系型数据库里的数据抽取到数据仓库,用作后续分析
- 结合 Flume 可以把 kafka , 日志文件 等数据抽取到数据仓库
- 结合 hbase 宽表特性,存储用户画像等信息,同时 hbase 还可用作高并发读数据场景
- 由于MapReduce 计算过程中需要频繁写磁盘,导致运行速度不够快,结合 spark 可以做数据仓库近实时查询,spark 本身提供了机器学习,图计算等算法的实现,可以很方便的做类似的数据挖掘和数据分析
首先解释一下hadoop是什么?
Hadoop是一个用于在由廉价硬件构建的大型集群上运行应用程序的框架。Hadoop框架提供给应用程序可靠性和数据移动。Hadoop实现了一个名为Map / Reduce的计算范例,其中应用程序被分成许多小的工作片段,每个工作片段都可以在群集中的任何节点上执行或重新执行。此外,它还提供了一个分布式文件系统(HDFS),用于在计算节点上存储数据,从而在整个集群中提供非常高的聚合带宽。Map / Reduce和分布式文件系统的设计都是为了使框架自动处理节点故障。Map / Reduce是一种编程模式,谷歌在任务分成小部分并分发到大量节点进行处理(map)时将其广泛使用,然后将结果汇总到最终答案中(reduce)。谷歌和雅虎将其用于搜索引擎技术等等。
Hadoop是实现这种处理方案的通用框架。至于为什么它这么普适,主要是因为它提供了诸如容错等整齐的功能,并且可以让您将几乎任何类型的硬件结合在一起进行处理。如果你的问题符合范例,它也可以很好地扩展。你可以在(http://hadoop.apache.org)上阅读关于它的所有信息。
至于一些例子,Paul提供了一些例子,但是你可以做的还有一些不是那么以网络为中心的:
1 渲染3D影片。“map”步骤将每个帧的几何分布到不同的节点,节点渲染它,并且渲染帧在“reduce”步骤中重新组合。
2 用分子模型计算系统中的能量。系统轨迹的每一帧都在“map”步骤中分配给一个节点。 节点计算每个帧的能量,然后在“reduce”步骤中汇总结果。
本质上,该模型对于可以分解为完全独立的类似离散计算的问题非常有效,并且可以重新组合以产生最终结果。
到此,以上就是小编对于基于hadoop的搜索引擎的问题就介绍到这了,希望介绍关于基于hadoop的搜索引擎的1点解答对大家有用。