正如許多地方所提到的,在MapReduce中以'sql-esque'方式加入數據是可能的,例如these Standford course notes和this MSc thesis以及http://ijniet.org:p。發佈的plagiarized copy of that thesis。是否可以使用CouchDB視圖進行多路連接?
我有3個實體:
A
B
C
A
和B
可以ab
柱接合,並且可以BC
上bc
柱接合。我認爲,我可以通過級聯MapReduce任務來實現這一點。但是,我無法以任何方式在CouchDB中執行此操作,無論是使用Map函數,減少函數,列表函數(消耗MapReduce視圖)還是這些操作的組合...
在CouchDB中,您可以使用相同的連接鍵輸出不同實體的文檔。但據我所知,沒有可能的映射函數允許通過相同的鍵或鍵範圍對多個實體進行分組?
這是專門針對JOINS的,其中每個連接的外鍵列是不同的。
這看起來像你正在創建文檔本身的實體關係。您還可以通過使用相同的密鑰發出不同實體類型的文檔來近似連接,然後檢索分組映射索引。但是我意識到你不能在reduce函數中進行實際的連接,因爲你需要允許rereduce = true –