Пример #1
0
 def test_mapreduce_listify(self):
     source = self.session.get_collection("mapreduce_source")
     source.insert({"foo": "a", "bar": "z"})
     source.insert({"foo": "a", "bar": "y"})
     source.insert({"foo": "b", "bar": "z"})
     source.insert({"foo": "c", "bar": "z"})
     source.insert({"foo": "c", "bar": "x"})
     source.insert({"foo": "c", "bar": "w"})
     target = self.session.get_collection("mapreduce_target")
     utils.map_reduce_listify(self.session, source, target.name, "foo", "bar")
     self.assertEqual(target.count(), 3)
     self.assertEqual(target.find_one({"_id": "a"}), {"_id": "a", "bar": ["z","y"]})
Пример #2
0
 def test_load_data_aggregated(self):
     tmp = tempfile.NamedTemporaryFile()
     for pair in zip("aabbccdd","12345678"):
         print >>tmp, "%s\t%s" % pair
     tmp.flush()
     AggregatedCollection.load_data(self.session, tmp.name)
     
     utils.map_reduce_listify(self.session, self.session.get_collection('adsdata_test_load'), 'adsdata_test', 'load_key', 'bar')
     self.assertEqual(self.session.query(AggregatedCollection).count(), 4, 'map-reduce loaded ')
     entry_a = self.session.query(AggregatedCollection).filter(AggregatedCollection.foo == 'a').first()
     self.assertTrue(entry_a is not None)
     self.assertEqual(entry_a.bar, ["1","2"])
Пример #3
0
 def test_mapreduce_listify(self):
     source = self.session.get_collection("mapreduce_source")
     source.insert({"foo": "a", "bar": "z"})
     source.insert({"foo": "a", "bar": "y"})
     source.insert({"foo": "b", "bar": "z"})
     source.insert({"foo": "c", "bar": "z"})
     source.insert({"foo": "c", "bar": "x"})
     source.insert({"foo": "c", "bar": "w"})
     target = self.session.get_collection("mapreduce_target")
     utils.map_reduce_listify(self.session, source, target.name, "foo", "bar")
     self.assertEqual(target.count(), 3)
     self.assertEqual(target.find_one({"_id": "a"}), {"_id": "a", "bar": ["z","y"]})
Пример #4
0
 def test_load_data_aggregated(self):
     tmp = tempfile.NamedTemporaryFile()
     for pair in zip("aabbccdd","12345678"):
         print >>tmp, "%s\t%s" % pair
     tmp.flush()
     AggregatedCollection.load_data(self.session, tmp.name)
     
     utils.map_reduce_listify(self.session, self.session.get_collection('adsdata_test_load'), 'adsdata_test', 'load_key', 'bar')
     self.assertEqual(self.session.query(AggregatedCollection).count(), 4, 'map-reduce loaded ')
     entry_a = self.session.query(AggregatedCollection).filter(AggregatedCollection.foo == 'a').first()
     self.assertTrue(entry_a is not None)
     self.assertEqual(entry_a.bar, ["1","2"])
Пример #5
0
 def post_load_data(cls, session, source_collection):
     target_collection_name = cls.config_collection_name
     utils.map_reduce_listify(session, source_collection, target_collection_name, 'load_key', 'citations')