存储在HDFS上的文件如何构建索引?
我的文件都是存储在hdfs上,文件类型什么有可能会有,是用户上传的数据。 1、是否可以通过solr直接构建索引?如果可以应该如何配置或者是需要二次开发?2、我在网上找到一个“散仙”写的通过mapreduce构建lucene索引(http://www.iteye.com/topic/1135050)。他的代码提示缺少一个jar包(myjob.jar),我没有找到这个包,问过他也没得到回应。
3、我现在想法是我的文件还是保存在hdfs上,但是需要索引的文本文件我再上传一份到hbase做索引,这个方案是否可行?或者还有更好的方案吗?
谢谢各位!
上面方案都是不错的,但是参考下SolrCloud,可以索引存储在HDFS上,也可以通过MR批量创建索引
详细参考
SolrCloud原理介绍
bioger_hit 发表于 2014-11-27 18:18
上面方案都是不错的,但是参考下SolrCloud,可以索引存储在HDFS上,也可以通过MR批量创建索引
非常感觉您的回答。solr原理只是说了可以通过MR构建索引,但是如何通过MR批量构建索引(有简单的可以运行的例子吗?)我还是不太清楚,新手刚接触这方面,多多包涵!是只要在solr上配置hdfs路径就可以自己构建索引还是要自己写代码提交MR任务?直接通过MR从hdfs上读取数据构建索引和在hbase构建索引哪种方式好些?
locker99 发表于 2014-11-28 09:25
非常感觉您的回答。solr原理只是说了可以通过MR构建索引,但是如何通过MR批量构建索引(有简单的可以运行 ...
如果能放在hbase是最好的了,hbase是专门用来查询索引的。
共同点:
1.hbase与hive都是架构在hadoop之上的。都是用hadoop作为底层存储
区别:
2.Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 。
3.想象你在操作RMDB数据库,如果是全表扫描,就用Hive+Hadoop,如果是索引访问,就用HBase+Hadoop 。
4.Hive query就是MapReduce jobs可以从5分钟到数小时不止,HBase是非常高效的,肯定比Hive高效的多。
5.Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce,Hive中的表纯逻辑。
6.hive借用hadoop的MapReduce来完成一些hive中的命令的执行
7.hbase是物理表,不是逻辑表,提供一个超大的内存hash表,搜索引擎通过它来存储索引,方便查询操作。
8.hbase是列存储。
9.hdfs作为底层存储,hdfs是存放文件的系统,而Hbase负责组织文件。
10.hive需要用到hdfs存储文件,需要用到MapReduce计算框架。
引用:
hive与hbase的十大区别与联系
楼主英文怎么样,可以参考这个
Running Solr on HDFS
也可以参考这篇文章solr4.4+hadoop2.1.0beta整合
desehawk 发表于 2014-11-28 18:56
如果能放在hbase是最好的了,hbase是专门用来查询索引的。
非常感谢您的帮助!如果我需要索引的文件上传一份到hdfs同时也上传到hbase做索引,那上传到hdfs的会不会有点多余?我只传一份到hbase做索引就可以了?
hyj 发表于 2014-11-28 19:16
楼主英文怎么样,可以参考这个
Running Solr on HDFS
非常感谢您提供的资料!这里我只看把索引存在hdfs上,也没看到如何为hdfs上的文件建索引。我在想是不是只能通过自己写代码通过MR建索引?
hyj 发表于 2014-11-28 19:22
也可以参考这篇文章solr4.4+hadoop2.1.0beta整合
非常感谢您提供的资料!
顶顶顶!!!!!!
页:
[1]