2014-02-21 26 views
0

我一直在研究NoSQL和Hadoop的數據倉庫,但是我從來沒有使用過這種技術,我想問一下這個以下是否可以檢查我是否有理解這些技術。MongoDB中的HiveQL

如果我的數據存儲在MongoDB中,我可以在Hive中使用Hadoop將Hiveql查詢直接創建到MongoDB,並將這些查詢的輸出再次保存爲MongoDB中的視圖,而不是HDFS?

另外如果我理解正確,大部分NoSQL數據庫不支持連接和聚合,但可以通過map-reduce使它們成爲可能。如果HiveQL查詢是map-reduce作業,當我在HiveQL中進行連接時,它會自動「加入」map-reduce中的MongoDB數據,無需擔心MongoDB中缺少對連接和聚合的支持?

回答

1

MongoDB對Aggregation類型的函數有很好的支持。當然沒有加入。 MongoDB Schema的設計方式通常不需要連接。

HiveQL在HDFS的'表'上運行。這是默認行爲。 但是你有一個MongoDB-Hadoop連接器:http://docs.mongodb.org/ecosystem/tools/hadoop/ 它可以讓你從Hadoop中查詢MongoDB數據。

要使用Map Reduce,可以使用MongoDB本身(不使用Hadoop)。 看到這個:http://docs.mongodb.org/manual/core/map-reduce/