in athena_glue_service_logs/job.py [0:0]
def __init__(self, service_name):
args = getResolvedOptions(sys.argv, ['JOB_NAME'] + self._job_arguments())
# Validate the service name
if not self.is_valid_service(service_name):
raise Exception("'%s' is not yet a supported service." % service_name)
self.glue_context = self._init_glue_context()
self.job = Job(self.glue_context)
region = self.get_instance_region()
# Create data catalog references
raw_klas = self.SERVICE_DEFINITIONS[service_name][0]
converted_klas = self.SERVICE_DEFINITIONS[service_name][1]
self.raw_catalog = raw_klas(
region,
args['raw_database_name'],
args['raw_table_name'],
args['s3_source_location']
)
self.optimized_catalog = converted_klas(
region,
args['converted_database_name'],
args['converted_table_name'],
args['s3_converted_target']
)
# Assume that if the raw table does not exist, this is our first run
self.initial_run = not self.raw_catalog.does_table_exist()
# Create a converter object and initialize the glue job!
self.converter = DataConverter(self.glue_context, self.raw_catalog, self.optimized_catalog)
self.job.init(args['JOB_NAME'], args)