我一直在研究NoSQL和Hadoop的数据仓库,但是我以前从来没有使用过这种技术,我想询问一下下面的内容是否可以检查我对这种技术的理解是否正确。
如果我的数据存储在MongoDB中,我是否可以使用使Hiveql查询直接到MongoDB,并将这些查询的输出再次存储在MongoDB中,而不是HDFS中?
此外,如果我正确理解了大多数NoSQL数据库不支持连接和聚合,但是可以通过map-reduce使它们成为可能。如果HiveQL查询是map--当我在HiveQL中加入时减少作业--对我来说,它是否已经自动“加入”了地图中的MongoDB数据--减少,而不必担心缺乏对MongoDB中的连接和聚合的支持?
发布于 2014-02-26 06:31:45
MongoDB确实对聚合类函数有很好的支持。当然没有加入。通常设计MongoDB模式的方式是,您通常不需要连接。
HiveQL对HDFS中的“表”进行操作。这是默认行为。但是您有一个:http://docs.mongodb.org/ecosystem/tools/hadoop/,它允许您从Hadoop内部查询MongoDB数据。
要使用Map,可以使用MongoDB本身(没有Hadoop)。参见:http://docs.mongodb.org/manual/core/map-reduce/
https://stackoverflow.com/questions/21934944
复制相似问题