コード例 #1
0
    def setUp(self):
        super(TestWithHadoop, self).setUp()
        # FIXME (HUE-2562): The tests unfortunately require superuser at the
        # moment, but should be rewritten to not need it.
        self.c = make_logged_in_client(is_superuser=True)
        grant_access("test", "test", "pig")
        self.user = User.objects.get(username='******')
        self.c.post(reverse('pig:install_examples'))

        self.cluster = pseudo_hdfs4.shared_cluster()
        self.api = OozieApi(self.cluster.fs, self.cluster.jt, self.user)
コード例 #2
0
  def test_create_workflow(self):
    cluster = pseudo_hdfs4.shared_cluster()
    api = OozieApi(cluster.fs, self.user)

    xattrs = {
      'parameters': [
        {'name': 'output', 'value': '/tmp'},
        {'name': '-param', 'value': 'input=/data'}, # Alternative way for params
        {'name': '-optimizer_off', 'value': 'SplitFilter'},
        {'name': '-v', 'value': ''},
       ],
      'resources': [
        {'type': 'file', 'value': '/tmp/file'},
        {'type': 'archive', 'value': '/tmp/file.zip'},
      ],
      'hadoopProperties': [
        {'name': 'mapred.map.tasks.speculative.execution', 'value': 'false'},
        {'name': 'mapred.job.queue', 'value': 'fast'},
      ]
    }

    pig_script = create_script(self.user, xattrs)
    params = json.dumps([
      {'name': 'output', 'value': '/tmp2'},
    ])

    workflow = api._create_workflow(pig_script, params)
    pig_action = workflow.start.get_child('to').get_full_node()

    assert_equal([
        {u'type': u'argument', u'value': u'-param'}, {u'type': u'argument', u'value': u'output=/tmp2'},
        {u'type': u'argument', u'value': u'-param'}, {u'type': u'argument', u'value': u'input=/data'},
        {u'type': u'argument', u'value': u'-optimizer_off'}, {u'type': u'argument', u'value': u'SplitFilter'},
        {u'type': u'argument', u'value': u'-v'},
    ], pig_action.get_params())

    assert_equal([
        {u'name': u'mapred.map.tasks.speculative.execution', u'value': u'false'},
        {u'name': u'mapred.job.queue', u'value': u'fast'},
    ], pig_action.get_properties())

    assert_equal(['/tmp/file'], pig_action.get_files())

    assert_equal([
        {u'dummy': u'', u'name': u'/tmp/file.zip'},
    ], pig_action.get_archives())