CouchDb / CouchBase:你能通过MapReduce视图派生出一个Kimball SCD方案吗?

时间:2016-12-24 18:25:05

标签: hadoop mapreduce couchdb cloudant

假设您在CouchDB中有一个类似于日志的文档集合,就像在JSON文档和属性的列表表示中一样(每行是一个JSON文档,每列都是一个属性):

PRODUCT_ID START_DATE PRICE
0000000001 2016-01-01 100.00
0000000002 2016-01-01 100.00
0000000003 2016-01-01 100.00
0000000001 2016-01-02 100.00
0000000002 2016-01-02 200.00
0000000003 2016-01-02 100.00
0000000001 2016-01-03 100.00
0000000002 2016-01-03 200.00
0000000003 2016-01-03 100.00

是否可以通过MapReduce View生成实现Ralph Kimball慢慢变化维度概念的模式?

e.g:

PRODUCT_ID START_DATE PRICE  END_DATE
0000000001 2016-01-01 100.00 2999-12-31
0000000002 2016-01-01 100.00 2016-01-02
0000000003 2016-01-01 100.00 2999-12-31
0000000002 2016-01-02 200.00 2999-12-31

我使用Cloudant,它比基本CouchDB有一些增强功能。

相关(更广泛)的问题:Data warehousing principles and NoSQL

1 个答案:

答案 0 :(得分:0)

在CouchDB中,/database/_all_docs视图按id排序。如果您可以容忍每个所需结果的视图结果连续两行,这只是CouchDB中的默认值。

将两行合并为一个应用程序应该很容易。

如果您需要对文档值进行更多计算,则可以使用emit(doc._id)作为关键字创建以相同方式工作的自定义视图:http://docs.couchdb.org/en/2.0.0/couchapp/views/intro.html