Я написал SQL скрипт для 20 таблиц (включая промежуточные таблицы). Чтобы перевести мой код в рабочий процесс, мне потребуется преобразовать этот скрипт SQL в Python Wrapper. Каждый оператор DROP & CREATE должен быть в отдельной функции.
Я скопировал и вставил запрос sql в оболочку python. Есть ли способ автоматизировать это, используя Python?
SQL ФОРМАТ КОДА
drop table if exists schema.tableA ;
create table schema.tableA
as
select * from table 123 where a>10 ;
PYTHON ФОРМАТ ОБОРОТА
#Function to drop tables
def cleanup_method_stg1(self):
q = """
DROP TABLE IF
EXISTS schema.tableA; """.format(self.cfg_mgr.schema_nm)
self.impala_utils.run_query(q)
ImpalaConnect.close()
#Function to create tables
def dml_method_stg2(self):
q = """
create table schema.tableA
as
select * from table 123 where a>10 ;
""".format(self.cfg_mgr.schema_nm)
self.impala_utils.run_query(q)
ImpalaConnect.close()
self.impala_utils.__init__(self.cfg_mgr, service_name='impala')
self.impala_utils.run_query(
'INVALIDATE METADATA schema.tableA'.format(self.cfg_mgr.schema_nm))
ImpalaConnect.close()