使用Hadoop + mapreduce在couchdb中处理数据

zzoitvuj  于 2022-12-09  发布在  CouchDB
关注(0)|答案(2)|浏览(130)

我在CouchDB中有非常非常大量的数据,但是我最近发现了沙发中的mapreduce函数是多么的残缺(没有链接)。
所以我想到了使用Hadoop从CouchDB数据库运行map reduce查询,并希望将最终结果存储在另一个CouchDB数据库中。
这是不是太疯狂了?我知道我可以设置Hbase来实现这一点,但我不想将我的数据从CouchDB迁移到Hbase。我喜欢将CouchDB作为数据存储。

rekjcdws

rekjcdws1#

显然,CouchDB应该能够将数据流传输到Hadoop via Sqoop,但我没有看到任何其他信息,除了那个链接。最坏的情况是,你可以编写自己的输入读取器来读取CouchDB,或者定期导出数据,并将其扔到HDFS上,然后在那里运行它。

soat7uwm

soat7uwm2#

CouchDB中的MapReduce函数被限制为简化结果的缓存。视图被设计为自包含的,而不是必须搜索受更改影响的视图。
这意味着如果你有复杂的MapReduce代码,你可以使用像CouchApp这样的工具在MapReduce函数中嵌入函数。我在寻找这个的引用时遇到了麻烦,但是你可以使用宏!code在视图中嵌入JavaScript函数。Using require() or // !json, !code in CouchDB?
通过将大部分代码放在共享函数中,而仅仅在不同的视图中调用函数,这可以帮助获得一些链接而不是链接的生产率优势。对于链接的性能优势,如果这是你所追求的,你可能最好还是转移到HBase。

相关问题