コード例 #1
0
        List <JObject> mapReduce(FileBasedMapperWriters wtrs, List <JObject> list)
        {
            var ret = new List <JObject>();

            foreach (var o in list)
            {
                wtrs.Write(o);
            }

            foreach (var o in wtrs)
            {
                ret.Add(o);
            }

            Assert.AreEqual(list.Count, ret.Count);
            return(ret);
        }
コード例 #2
0
        public void TestMapReduce()
        {
            var list = new List <JObject>();

            list.Add(Create(1, "22", 23));
            list.Add(Create("22", 23));
            list.Add(Create(1, "22"));
            list.Add(Create(1, null, 23));
            list.Add(Create(1, "", 23));
            list.Add(Create("BB", 23));
            list.Add(Create("Bb", 23));
            list.Add(Create("bB", 23));
            list.Add(Create("c", 23));
            list.Add(Create("C", 23));

            var wtrs    = new FileBasedMapperWriters(hasher3, cmp3, Path.Combine(dir, "data"), "foobar", 1, true, false);
            var outList = dump(mapReduce(wtrs, list), "1 file");

            wtrs.Dispose();
            Assert.AreEqual("{'k2':'22','k3':23}", _tos(outList[0]));
            Assert.AreEqual("{'k1':1,'k2':'22','k3':23}", _tos(outList[9]));

            wtrs    = new FileBasedMapperWriters(hasher3, cmp3, Path.Combine(dir, "data"), "foobar", 3, true, false);
            outList = dump(mapReduce(wtrs, list), "3 files");
            Assert.AreEqual("{'k2':'22','k3':23}", _tos(outList[0]));
            Assert.AreEqual("{'k2':'bB','k3':23}", _tos(outList[9]));
            wtrs.Dispose();


            wtrs    = new FileBasedMapperWriters(hasher3, cmp3, Path.Combine(dir, "data"), "foobar", 1, false, false);
            outList = dump(mapReduce(wtrs, list), "1 file");
            wtrs.Dispose();
            Assert.AreEqual("{'k2':'22','k3':23}", _tos(outList[0]));
            Assert.AreEqual("{'k1':1,'k2':'22','k3':23}", _tos(outList[9]));

            wtrs    = new FileBasedMapperWriters(hasher3, cmp3, Path.Combine(dir, "data"), "foobar", 3, false, false);
            outList = dump(mapReduce(wtrs, list), "1 file");
            wtrs.Dispose();
            Assert.AreEqual("{'k2':'22','k3':23}", _tos(outList[0]));
            Assert.AreEqual("{'k2':'bB','k3':23}", _tos(outList[9]));
        }