我一直在阅读白皮书并观看YouTube视频半天,并相信我对该技术有正确的理解,但在开始我的项目之前,我想确保它正确。
所以,这就是我认为我知道的。
由于我正在理解hadoop和hbase的架构,他们几乎就像这样建模了
-----------------------------------------
| Mapreduce |
-----------------------------------------
| Hadoop | <-- hbase export--| HBase |
| | --apache pig --> | |
-----------------------------------------
| HDFS |
----------------------------------------
简而言之,HBase是一个完全不同的数据库引擎,针对碰巧在HDFS上运行并与Mapreduce兼容的实时更新和查询进行了调整。
现在,假设上述情况是正确的,我认为这就是我所知道的其他内容。
好的,如果我仍然准确到这一点,这将是一个有效的用例。
使用HBase构建网站。您可以像使用任何其他NoSql或RDBMS一样使用HBase来构建您的功能。完成后,将代码记录点放在代码中,以记录您的指标,例如log4j。您可以在log4j中创建一个新的appender,其规则说明日志文件大小达到1 gig时,将其推送到hadoop集群,删除它,创建新文件,继续生活。
稍后,Mapreduce开发人员可以编写一个例程,使用HBase导出从HBase获取数据集,比如用户ID列表,然后转到存储在Hadoop中的日志,找到每个用户的面包屑跟踪通过系统给定的时间跨度。
好的,所有人都说,现在针对具体问题。陈述1 - 6准确吗?
** * ** * *** *编辑一个, 我根据收到的答案更新了上述信念。
答案 0 :(得分:2)
答案 1 :(得分:1)
Since HBase and Hadoop are different database engines, one can not access the data in the other directly. For HBase to get something out of Hadoop, it must go thru Mapreduce and vice versa.
这不是真的,因为Hadoop不是数据库引擎。 Hadoop是文件系统(HDFS)和Java API的集合,用于在HDFS上执行计算。
此外,Map Reduce不是技术,它是一个可以在HDFS数据上并行工作的模型。