Пример #1
0
    def test_mr(self):

        def mapper(k, v):
            pass

        def mapper_init():
            pass

        def mapper_final():
            pass

        def reducer(k, vs):
            pass

        def reducer_init():
            pass

        def reducer_final():
            pass

        # make sure it returns the format we currently expect
        self.assertEqual(MRJob.mr(mapper, reducer),
                         stepdict(mapper, reducer))
        self.assertEqual(MRJob.mr(mapper, reducer,
                                  mapper_init=mapper_init,
                                  mapper_final=mapper_final,
                                  reducer_init=reducer_init,
                                  reducer_final=reducer_final),
                         stepdict(mapper, reducer,
                                  mapper_init=mapper_init,
                                  mapper_final=mapper_final,
                                  reducer_init=reducer_init,
                                  reducer_final=reducer_final))
        self.assertEqual(MRJob.mr(mapper),
                         stepdict(mapper))
Пример #2
0
    def test_mr(self):

        def mapper(k, v):
            pass

        def mapper_init():
            pass

        def mapper_final():
            pass

        def reducer(k, vs):
            pass

        def reducer_init():
            pass

        def reducer_final():
            pass

        # make sure it returns the format we currently expect
        self.assertEqual(MRJob.mr(mapper, reducer),
                         stepdict(mapper, reducer))
        self.assertEqual(MRJob.mr(mapper, reducer,
                                  mapper_init=mapper_init,
                                  mapper_final=mapper_final,
                                  reducer_init=reducer_init,
                                  reducer_final=reducer_final),
                         stepdict(mapper, reducer,
                                  mapper_init=mapper_init,
                                  mapper_final=mapper_final,
                                  reducer_init=reducer_init,
                                  reducer_final=reducer_final))
        self.assertEqual(MRJob.mr(mapper),
                         stepdict(mapper))
Пример #3
0
    def test_deprecated_mapper_final_positional_arg(self):
        def mapper(k, v):
            pass

        def reducer(k, v):
            pass

        def mapper_final():
            pass

        stderr = StringIO()
        with no_handlers_for_logger():
            log_to_stream('mrjob.job', stderr)
            step = MRJob.mr(mapper, reducer, mapper_final)

        # should be allowed to specify mapper_final as a positional arg,
        # but we log a warning
        self.assertEqual(step, MRJob.mr(mapper=mapper,
                                        reducer=reducer,
                                        mapper_final=mapper_final))
        self.assertIn('mapper_final should be specified', stderr.getvalue())

        # can't specify mapper_final as a positional and keyword arg
        self.assertRaises(
            TypeError,
            MRJob.mr, mapper, reducer, mapper_final, mapper_final=mapper_final)
Пример #4
0
    def test_deprecated_mapper_final_positional_arg(self):
        def mapper(k, v):
            pass

        def reducer(k, v):
            pass

        def mapper_final():
            pass

        stderr = StringIO()
        with no_handlers_for_logger():
            log_to_stream('mrjob.job', stderr)
            step = MRJob.mr(mapper, reducer, mapper_final)

        # should be allowed to specify mapper_final as a positional arg,
        # but we log a warning
        self.assertEqual(
            step,
            MRJob.mr(
                mapper=mapper, reducer=reducer, mapper_final=mapper_final))
        self.assertIn('mapper_final should be specified', stderr.getvalue())

        # can't specify mapper_final as a positional and keyword arg
        self.assertRaises(
            TypeError,
            MRJob.mr,
            mapper,
            reducer,
            mapper_final,
            mapper_final=mapper_final)
Пример #5
0
    def test_no_mapper(self):
        def mapper_final(k, v): pass
        def reducer(k, vs): pass

        assert_equal(MRJob.mr(), (_IDENTITY_MAPPER, None))
        assert_equal(MRJob.mr(reducer=reducer), (_IDENTITY_MAPPER, reducer))
        assert_equal(MRJob.mr(reducer=reducer, mapper_final=mapper_final),
                     ((_IDENTITY_MAPPER, mapper_final), reducer))
Пример #6
0
    def test_no_reducer(self):
        def reducer_init():
            pass

        def reducer_final():
            pass

        assert_equal(MRJob.mr(reducer_init=reducer_init),
                     stepdict(reducer_init=reducer_init))
        assert_equal(MRJob.mr(reducer_final=reducer_final),
                     stepdict(reducer_final=reducer_final))
Пример #7
0
    def test_no_mapper(self):
        def mapper_final(k, v):
            pass

        def reducer(k, vs):
            pass

        assert_equal(MRJob.mr(), (_IDENTITY_MAPPER, None))
        assert_equal(MRJob.mr(reducer=reducer), (_IDENTITY_MAPPER, reducer))
        assert_equal(MRJob.mr(reducer=reducer, mapper_final=mapper_final),
                     ((_IDENTITY_MAPPER, mapper_final), reducer))
Пример #8
0
    def test_mr(self):

        def mapper(k, v): pass
        def mapper_final(k, v): pass
        def reducer(k, vs): pass

        # make sure it returns the format we currently expect
        assert_equal(MRJob.mr(mapper, reducer), (mapper, reducer))
        assert_equal(MRJob.mr(mapper, reducer, mapper_final=mapper_final),
                     ((mapper, mapper_final), reducer))
        assert_equal(MRJob.mr(mapper), (mapper, None))
Пример #9
0
    def test_no_reducer(self):

        def reducer_init():
            pass

        def reducer_final():
            pass

        self.assertEqual(MRJob.mr(reducer_init=reducer_init),
                         stepdict(reducer_init=reducer_init))
        self.assertEqual(MRJob.mr(reducer_final=reducer_final),
                         stepdict(reducer_final=reducer_final))
Пример #10
0
    def test_mapper_and_reducer_as_positional_args(self):
        def mapper(k, v):
            pass

        def reducer(k, v):
            pass

        def combiner(k, v):
            pass

        self.assertEqual(MRJob.mr(mapper), MRJob.mr(mapper=mapper))

        self.assertEqual(
            MRJob.mr(mapper, reducer), MRJob.mr(
                mapper=mapper, reducer=reducer))

        self.assertEqual(
            MRJob.mr(mapper, reducer=reducer),
            MRJob.mr(mapper=mapper, reducer=reducer))

        self.assertEqual(
            MRJob.mr(mapper, reducer, combiner=combiner),
            MRJob.mr(mapper=mapper, reducer=reducer, combiner=combiner))

        # can't specify something as a positional and keyword arg
        self.assertRaises(TypeError, MRJob.mr, mapper, mapper=mapper)
        self.assertRaises(
            TypeError, MRJob.mr, mapper, reducer, reducer=reducer)
Пример #11
0
    def test_mapper_and_reducer_as_positional_args(self):
        def mapper(k, v):
            pass

        def reducer(k, v):
            pass

        def combiner(k, v):
            pass

        self.assertEqual(MRJob.mr(mapper), MRJob.mr(mapper=mapper))

        self.assertEqual(MRJob.mr(mapper, reducer),
                         MRJob.mr(mapper=mapper, reducer=reducer))

        self.assertEqual(MRJob.mr(mapper, reducer=reducer),
                         MRJob.mr(mapper=mapper, reducer=reducer))

        self.assertEqual(MRJob.mr(mapper, reducer, combiner=combiner),
                         MRJob.mr(mapper=mapper, reducer=reducer,
                                  combiner=combiner))

        # can't specify something as a positional and keyword arg
        self.assertRaises(TypeError,
                          MRJob.mr, mapper, mapper=mapper)
        self.assertRaises(TypeError,
                          MRJob.mr, mapper, reducer, reducer=reducer)
Пример #12
0
    def test_mr(self):
        def mapper(k, v):
            pass

        def mapper_final(k, v):
            pass

        def reducer(k, vs):
            pass

        # make sure it returns the format we currently expect
        assert_equal(MRJob.mr(mapper, reducer), (mapper, reducer))
        assert_equal(MRJob.mr(mapper, reducer, mapper_final=mapper_final),
                     ((mapper, mapper_final), reducer))
        assert_equal(MRJob.mr(mapper), (mapper, None))
Пример #13
0
    def test_no_mapper(self):
        def mapper_init():
            pass

        def mapper_final():
            pass

        def reducer(k, vs):
            pass

        assert_raises(Exception, MRJob.mr)
        assert_equal(MRJob.mr(reducer=reducer), stepdict(reducer=reducer))
        assert_equal(MRJob.mr(reducer=reducer, mapper_final=mapper_final),
                     stepdict(reducer=reducer, mapper_final=mapper_final))
        assert_equal(MRJob.mr(reducer=reducer, mapper_init=mapper_init),
                     stepdict(reducer=reducer, mapper_init=mapper_init))
Пример #14
0
    def test_mr(self):
        kwargs = {
            'mapper': _IDENTITY_MAPPER,
            'reducer': _IDENTITY_REDUCER,
        }

        with logger_disabled('mrjob.job'):
            self.assertEqual(MRJob.mr(**kwargs), MRStep(**kwargs))
Пример #15
0
    def test_mr(self):
        kwargs = {
            'mapper': _IDENTITY_MAPPER,
            'reducer': _IDENTITY_REDUCER,
        }

        with logger_disabled('mrjob.job'):
            self.assertEqual(MRJob.mr(**kwargs), MRStep(**kwargs))
Пример #16
0
    def test_no_mapper(self):
        def mapper_init():
            pass

        def mapper_final():
            pass

        def reducer(k, vs):
            pass

        self.assertRaises(Exception, MRJob.mr)
        self.assertEqual(MRJob.mr(reducer=reducer), stepdict(reducer=reducer))
        self.assertEqual(
            MRJob.mr(reducer=reducer, mapper_final=mapper_final),
            stepdict(reducer=reducer, mapper_final=mapper_final))
        self.assertEqual(
            MRJob.mr(reducer=reducer, mapper_init=mapper_init),
            stepdict(reducer=reducer, mapper_init=mapper_init))
Пример #17
0
 def steps(self):
     return map(lambda _: MRJob.mr(self.mapper, self.reducer, 
                                     self.mapper_final), 
                 xrange(0, self.options.iterations))
Пример #18
0
 def test_mr_positional_arguments(self):
     with logger_disabled('mrjob.job'):
         self.assertEqual(
             MRJob.mr(_IDENTITY_MAPPER, _IDENTITY_REDUCER),
             MRStep(mapper=_IDENTITY_MAPPER, reducer=_IDENTITY_REDUCER))
Пример #19
0
 def test_mr_positional_arguments(self):
     with logger_disabled('mrjob.job'):
         self.assertEqual(
             MRJob.mr(_IDENTITY_MAPPER, _IDENTITY_REDUCER),
             MRStep(mapper=_IDENTITY_MAPPER, reducer=_IDENTITY_REDUCER))
Пример #20
0
    def test_mr(self):
        kwargs = {"mapper": _IDENTITY_MAPPER, "reducer": _IDENTITY_REDUCER}

        with logger_disabled("mrjob.job"):
            self.assertEqual(MRJob.mr(**kwargs), MRStep(**kwargs))