예제 #1
0
 def steps(self):
     return [
         MRJobStep(mapper=self.mapper,
                   combiner=self.combiner,
                   reducer=self.reducer),
         MRJobStep(reducer=self.reducer_top5)
     ]
예제 #2
0
 def steps(self):
     return [
         MRJobStep(mapper=self.mapper1,
                   combiner=self.combiner1,
                   reducer=self.reducer1),
         MRJobStep(reducer_init=self.reducer2_init, reducer=self.reducer2)
     ]
예제 #3
0
    def test_render_jobconf(self):
        step = MRJobStep(mapper=identity_mapper,
                         jobconf={'dfs.block.size': '134217728'})

        self.assertEqual(
            step.description(0), {
                'type': 'streaming',
                'mapper': {
                    'type': 'script',
                },
                'jobconf': {
                    'dfs.block.size': '134217728',
                }
            })
예제 #4
0
파일: test_step.py 프로젝트: Anihc/mrjob
    def test_render_jobconf(self):
        step = MRJobStep(mapper=identity_mapper,
                         jobconf={'dfs.block.size': '134217728'})

        self.assertEqual(
            step.description(0),
            {
            'type': 'streaming',
            'mapper': {
                'type': 'script',
            },
            'jobconf': {
                'dfs.block.size': '134217728',
            }
        })
예제 #5
0
 def steps(self):
     return [
         MRJobStep(mapper_init=self.mapper_init,
                   mapper=self.mapper,
                   combiner=self.combiner,
                   reducer=self.reducer)
     ]
예제 #6
0
 def test_render_reducer_first_mapper_not_implied(self):
     self.assertEqual(
         MRJobStep(reducer=identity_reducer).description(1), {
             'type': 'streaming',
             'reducer': {
                 'type': 'script',
             },
         })
예제 #7
0
 def test_render_mapper(self):
     self.assertEqual(
         MRJobStep(mapper=identity_mapper).description(0), {
             'type': 'streaming',
             'mapper': {
                 'type': 'script',
             },
         })
예제 #8
0
 def test_steps(self):
     j = self.SteppyJob(['--no-conf'])
     self.assertEqual(
         j.steps()[0],
         MRJobStep(mapper_init=j._yield_none,
                   mapper_pre_filter='cat',
                   reducer_cmd='wc -l'))
     self.assertEqual(j.steps()[1],
                      JarStep('oh my jar', 's3://bookat/binks_jar.jar'))
예제 #9
0
 def test_render_reducer_cmd_first_mapper_not_implied(self):
     self.assertEqual(
         MRJobStep(reducer_cmd='cat').description(1), {
             'type': 'streaming',
             'reducer': {
                 'type': 'command',
                 'command': 'cat',
             },
         })
예제 #10
0
 def test_render_mapper_cmd(self):
     self.assertEqual(
         MRJobStep(mapper_cmd='cat').description(0), {
             'type': 'streaming',
             'mapper': {
                 'type': 'command',
                 'command': 'cat',
             },
         })
예제 #11
0
 def test_render_reducer_pre_filter(self):
     self.assertEqual(
         MRJobStep(reducer=identity_reducer,
                   reducer_pre_filter='cat').description(1), {
                       'type': 'streaming',
                       'reducer': {
                           'type': 'script',
                           'pre_filter': 'cat',
                       },
                   })
예제 #12
0
 def test_render_combiner(self):
     self.assertEqual(
         MRJobStep(combiner=identity_reducer).description(1), {
             'type': 'streaming',
             'mapper': {
                 'type': 'script',
             },
             'combiner': {
                 'type': 'script',
             },
         })
예제 #13
0
    def test_can_override_jobconf_method(self):
        # regression test for #656
        j = self.SingleStepJobConfMethodJob(['--no-conf'])

        # overriding jobconf() should affect job_runner_kwargs()
        # but not step definitions
        self.assertEqual(j.job_runner_kwargs()['jobconf'],
                         {'mapred.baz': 'bar'})

        self.assertEqual(
            j.steps()[0],
            MRJobStep(mapper=j.mapper))
예제 #14
0
 def _test_explicit(self, m=False, c=False, r=False, **kwargs):
     s = MRJobStep(**kwargs)
     self.assertEqual(s.has_explicit_mapper, m)
     self.assertEqual(s.has_explicit_combiner, c)
     self.assertEqual(s.has_explicit_reducer, r)
예제 #15
0
 def test_get_regular_mapper(self):
     # this is the normal behavior
     self.assertEqual(MRJobStep(mapper=identity_mapper)['mapper'],
                      identity_mapper)
예제 #16
0
 def test_get_identity_mapper(self):
     # this is the weird behavior
     self.assertEqual(MRJobStep(mapper_final=identity_mapper)['mapper'],
                      _IDENTITY_MAPPER)
예제 #17
0
 def _streaming_step(self, n, *args, **kwargs):
     return MRJobStep(*args, **kwargs).description(n)
예제 #18
0
 def steps(self):
     return [
         MRJobStep(mapper_init=self.mapper_init, mapper=self.mapper)
            ]
예제 #19
0
 def steps(self):
     return [
         MRJobStep(mapper_init=self.mapper_init,
                   mapper=self.mapper,
                   mapper_final=self.mapper_final)
     ]