本文整理汇总了Python中riak.mapreduce.RiakMapReduce类的典型用法代码示例。如果您正苦于以下问题:Python RiakMapReduce类的具体用法?Python RiakMapReduce怎么用?Python RiakMapReduce使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了RiakMapReduce类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: reduce
def reduce(self, *args):
"""
Start assembling a Map/Reduce operation.
A shortcut for :func:`RiakMapReduce.reduce`.
:rtype: RiakMapReduce
"""
mr = RiakMapReduce(self.client)
mr.add(self.bucket.name, self.key)
return mr.reduce(*args)
开发者ID:pawskow,项目名称:riak-python-client,代码行数:10,代码来源:riak_object.py
示例2: test_stream_results
def test_stream_results(self):
bucket = self.client.bucket("bucket")
bucket.new("one", data=1).store()
bucket.new("two", data=2).store()
mr = RiakMapReduce(self.client).add("bucket", "one").add("bucket", "two")
mr.map_values_json()
results = []
for phase, data in mr.stream():
results.extend(data)
self.assertEqual(sorted(results), [1, 2])
开发者ID:sorenh,项目名称:riak-python-client,代码行数:12,代码来源:test_mapreduce.py
示例3: test_stream_results
def test_stream_results(self):
bucket = self.client.bucket(self.bucket_name)
bucket.new('one', data=1).store()
bucket.new('two', data=2).store()
mr = RiakMapReduce(self.client).add(self.bucket_name, 'one')\
.add(self.bucket_name, 'two')
mr.map_values_json()
results = []
for phase, data in mr.stream():
results.extend(data)
self.assertEqual(sorted(results), [1, 2])
开发者ID:7Geese,项目名称:riak-python-client,代码行数:13,代码来源:test_mapreduce.py
示例4: test_stream_cleanoperationsup
def test_stream_cleanoperationsup(self):
bucket = self.client.bucket("bucket")
bucket.new("one", data=1).store()
bucket.new("two", data=2).store()
mr = RiakMapReduce(self.client).add("bucket", "one").add("bucket", "two")
mr.map_values_json()
try:
for phase, data in mr.stream():
raise RuntimeError("woops")
except RuntimeError:
pass
# This should not raise an exception
obj = bucket.get("one")
self.assertEqual(1, obj.data)
开发者ID:sorenh,项目名称:riak-python-client,代码行数:16,代码来源:test_mapreduce.py
示例5: test_stream_cleanoperationsup
def test_stream_cleanoperationsup(self):
bucket = self.client.bucket(self.bucket_name)
bucket.new('one', data=1).store()
bucket.new('two', data=2).store()
mr = RiakMapReduce(self.client).add(self.bucket_name, 'one')\
.add(self.bucket_name, 'two')
mr.map_values_json()
try:
for phase, data in mr.stream():
raise RuntimeError("woops")
except RuntimeError:
pass
# This should not raise an exception
obj = bucket.get('one')
self.assertEqual('1', obj.encoded_data)
开发者ID:EnTeQuAk,项目名称:riak-python-client,代码行数:17,代码来源:test_mapreduce.py
示例6: test_mr_search
def test_mr_search(self):
"""
Try a successful map/reduce from search results.
"""
btype = self.client.bucket_type(testrun_yz_mr['btype'])
bucket = btype.bucket(testrun_yz_mr['bucket'])
bucket.new("Pebbles", {"name_s": "Fruity Pebbles",
"maker_s": "Post",
"sugar_i": 9,
"calories_i": 110,
"fruit_b": True}).store()
bucket.new("Loops", {"name_s": "Froot Loops",
"maker_s": "Kellogg's",
"sugar_i": 12,
"calories_i": 110,
"fruit_b": True}).store()
bucket.new("Charms", {"name_s": "Lucky Charms",
"maker_s": "General Mills",
"sugar_i": 10,
"calories_i": 110,
"fruit_b": False}).store()
bucket.new("Count", {"name_s": "Count Chocula",
"maker_s": "General Mills",
"sugar_i": 9,
"calories_i": 100,
"fruit_b": False}).store()
bucket.new("Crunch", {"name_s": "Cap'n Crunch",
"maker_s": "Quaker Oats",
"sugar_i": 12,
"calories_i": 110,
"fruit_b": False}).store()
# Wait for Solr to catch up
wait_for_yz_index(bucket, "Crunch")
mr = RiakMapReduce(self.client).search(testrun_yz_mr['bucket'],
'fruit_b:false')
mr.map("""function(v) {
var solr_doc = JSON.parse(v.values[0].data);
return [solr_doc["calories_i"]]; }""")
result = mr.reduce('function(values, arg) ' +
'{ return [values.sort()[0]]; }').run()
self.assertEqual(result, [100])
开发者ID:7Geese,项目名称:riak-python-client,代码行数:41,代码来源:test_mapreduce.py
示例7: _mapreduce_keyfilter
def _mapreduce_keyfilter(self, index, keyfilter, sortby=None, limit=None):
"""
Helper function to execute a map-reduce query using the given key filter
"""
results = None
log.debug("Riak query %r with key filter %r", index, keyfilter)
mapred = RiakMapReduce(self.client)
mapred.add_bucket(self._get_bucket(index))
mapred.add_key_filters(keyfilter)
# custom Riak.mapValuesJson() function that also adds the entry key to the data structure
mapred.map("""
function(value, keyData, arg) {
if (value.not_found) {
return [value];
}
var _data, data = value["values"][0]["data"];
if (Riak.getClassName(data) !== "Array") {
_data = JSON.parse(data);
_data["_key"] = value.key;
return [_data];
}
else {
return data
}
}
""")
if sortby is not None:
comp = '<' if limit is not None and limit < 0 else '>'
mapred.reduce_sort('function(a,b){ return (a.%s || 0) %s (b.%s || 0) ? 1 : 0; }' % (sortby, comp, sortby))
if limit is not None:
mapred.reduce_limit(abs(limit))
try:
results = mapred.run()
except Exception, e:
log.warning("Riak MapReduce exception: %s", str(e))
results = None
开发者ID:kolab-groupware,项目名称:bonnie-flask,代码行数:41,代码来源:riak_storage.py
注:本文中的riak.mapreduce.RiakMapReduce类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论