2017-03-06 19:20:55 -05:00
|
|
|
from __future__ import absolute_import
|
|
|
|
from __future__ import division
|
|
|
|
from __future__ import print_function
|
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
|
|
|
import unittest
|
|
|
|
|
2017-07-27 17:00:19 -04:00
|
|
|
from superset.db_engine_specs import HiveEngineSpec
|
2017-03-06 19:20:55 -05:00
|
|
|
|
|
|
|
|
|
|
|
class DbEngineSpecsTestCase(unittest.TestCase):
|
|
|
|
def test_0_progress(self):
|
|
|
|
log = """
|
|
|
|
17/02/07 18:26:27 INFO log.PerfLogger: <PERFLOG method=compile from=org.apache.hadoop.hive.ql.Driver>
|
|
|
|
17/02/07 18:26:27 INFO log.PerfLogger: <PERFLOG method=parse from=org.apache.hadoop.hive.ql.Driver>
|
2017-07-27 17:00:19 -04:00
|
|
|
""".split('\n')
|
|
|
|
self.assertEquals(
|
|
|
|
0, HiveEngineSpec.progress(log))
|
2017-03-06 19:20:55 -05:00
|
|
|
|
|
|
|
def test_0_progress(self):
|
|
|
|
log = """
|
|
|
|
17/02/07 18:26:27 INFO log.PerfLogger: <PERFLOG method=compile from=org.apache.hadoop.hive.ql.Driver>
|
|
|
|
17/02/07 18:26:27 INFO log.PerfLogger: <PERFLOG method=parse from=org.apache.hadoop.hive.ql.Driver>
|
2017-07-27 17:00:19 -04:00
|
|
|
""".split('\n')
|
|
|
|
self.assertEquals(
|
|
|
|
0, HiveEngineSpec.progress(log))
|
2017-03-06 19:20:55 -05:00
|
|
|
|
|
|
|
def test_number_of_jobs_progress(self):
|
|
|
|
log = """
|
|
|
|
17/02/07 19:15:55 INFO ql.Driver: Total jobs = 2
|
2017-07-27 17:00:19 -04:00
|
|
|
""".split('\n')
|
|
|
|
self.assertEquals(0, HiveEngineSpec.progress(log))
|
2017-03-06 19:20:55 -05:00
|
|
|
|
|
|
|
def test_job_1_launched_progress(self):
|
|
|
|
log = """
|
|
|
|
17/02/07 19:15:55 INFO ql.Driver: Total jobs = 2
|
|
|
|
17/02/07 19:15:55 INFO ql.Driver: Launching Job 1 out of 2
|
2017-07-27 17:00:19 -04:00
|
|
|
""".split('\n')
|
|
|
|
self.assertEquals(0, HiveEngineSpec.progress(log))
|
2017-03-06 19:20:55 -05:00
|
|
|
|
|
|
|
def test_job_1_launched_stage_1_0_progress(self):
|
|
|
|
log = """
|
|
|
|
17/02/07 19:15:55 INFO ql.Driver: Total jobs = 2
|
|
|
|
17/02/07 19:15:55 INFO ql.Driver: Launching Job 1 out of 2
|
|
|
|
17/02/07 19:16:09 INFO exec.Task: 2017-02-07 19:16:09,173 Stage-1 map = 0%, reduce = 0%
|
2017-07-27 17:00:19 -04:00
|
|
|
""".split('\n')
|
|
|
|
self.assertEquals(0, HiveEngineSpec.progress(log))
|
2017-03-06 19:20:55 -05:00
|
|
|
|
|
|
|
def test_job_1_launched_stage_1_map_40_progress(self):
|
|
|
|
log = """
|
|
|
|
17/02/07 19:15:55 INFO ql.Driver: Total jobs = 2
|
|
|
|
17/02/07 19:15:55 INFO ql.Driver: Launching Job 1 out of 2
|
|
|
|
17/02/07 19:16:09 INFO exec.Task: 2017-02-07 19:16:09,173 Stage-1 map = 0%, reduce = 0%
|
|
|
|
17/02/07 19:16:09 INFO exec.Task: 2017-02-07 19:16:09,173 Stage-1 map = 40%, reduce = 0%
|
2017-07-27 17:00:19 -04:00
|
|
|
""".split('\n')
|
|
|
|
self.assertEquals(10, HiveEngineSpec.progress(log))
|
2017-03-06 19:20:55 -05:00
|
|
|
|
|
|
|
def test_job_1_launched_stage_1_map_80_reduce_40_progress(self):
|
|
|
|
log = """
|
|
|
|
17/02/07 19:15:55 INFO ql.Driver: Total jobs = 2
|
|
|
|
17/02/07 19:15:55 INFO ql.Driver: Launching Job 1 out of 2
|
|
|
|
17/02/07 19:16:09 INFO exec.Task: 2017-02-07 19:16:09,173 Stage-1 map = 0%, reduce = 0%
|
|
|
|
17/02/07 19:16:09 INFO exec.Task: 2017-02-07 19:16:09,173 Stage-1 map = 40%, reduce = 0%
|
|
|
|
17/02/07 19:16:09 INFO exec.Task: 2017-02-07 19:16:09,173 Stage-1 map = 80%, reduce = 40%
|
2017-07-27 17:00:19 -04:00
|
|
|
""".split('\n')
|
|
|
|
self.assertEquals(30, HiveEngineSpec.progress(log))
|
2017-03-06 19:20:55 -05:00
|
|
|
|
|
|
|
def test_job_1_launched_stage_2_stages_progress(self):
|
|
|
|
log = """
|
|
|
|
17/02/07 19:15:55 INFO ql.Driver: Total jobs = 2
|
|
|
|
17/02/07 19:15:55 INFO ql.Driver: Launching Job 1 out of 2
|
|
|
|
17/02/07 19:16:09 INFO exec.Task: 2017-02-07 19:16:09,173 Stage-1 map = 0%, reduce = 0%
|
|
|
|
17/02/07 19:16:09 INFO exec.Task: 2017-02-07 19:16:09,173 Stage-1 map = 40%, reduce = 0%
|
|
|
|
17/02/07 19:16:09 INFO exec.Task: 2017-02-07 19:16:09,173 Stage-1 map = 80%, reduce = 40%
|
|
|
|
17/02/07 19:16:09 INFO exec.Task: 2017-02-07 19:16:09,173 Stage-2 map = 0%, reduce = 0%
|
|
|
|
17/02/07 19:16:09 INFO exec.Task: 2017-02-07 19:16:09,173 Stage-1 map = 100%, reduce = 0%
|
2017-07-27 17:00:19 -04:00
|
|
|
""".split('\n')
|
|
|
|
self.assertEquals(12, HiveEngineSpec.progress(log))
|
2017-03-06 19:20:55 -05:00
|
|
|
|
|
|
|
def test_job_2_launched_stage_2_stages_progress(self):
|
|
|
|
log = """
|
|
|
|
17/02/07 19:15:55 INFO ql.Driver: Total jobs = 2
|
|
|
|
17/02/07 19:15:55 INFO ql.Driver: Launching Job 1 out of 2
|
|
|
|
17/02/07 19:16:09 INFO exec.Task: 2017-02-07 19:16:09,173 Stage-1 map = 100%, reduce = 0%
|
|
|
|
17/02/07 19:15:55 INFO ql.Driver: Launching Job 2 out of 2
|
|
|
|
17/02/07 19:16:09 INFO exec.Task: 2017-02-07 19:16:09,173 Stage-1 map = 0%, reduce = 0%
|
|
|
|
17/02/07 19:16:09 INFO exec.Task: 2017-02-07 19:16:09,173 Stage-1 map = 40%, reduce = 0%
|
2017-07-27 17:00:19 -04:00
|
|
|
""".split('\n')
|
|
|
|
self.assertEquals(60, HiveEngineSpec.progress(log))
|