Вы можете попробовать вытащить таблицы и обновить имена. Вот пример того, что я бы сделал.
Сначала мы попробуем получить таблицу:
database_name = 'ENTER TABLE NAME'
table_name = 'ENTER TABLE NAME'
response = self.glue_client.get_table(DatabaseName=database_name,table_name=Name)
old_table = response['Table']
Затем мы обновим таблицу значениями, которые мы хотим изменить. Новая таблица, которую мы создаем, может иметь только определенные поля, чтобы update_table ее приняла. Итак, сделаем следующее.
field_names = [
"Name",
"Description",
"Owner",
"LastAccessTime",
"LastAnalyzedTime",
"Retention",
"StorageDescriptor",
"PartitionKeys",
"ViewOriginalText",
"ViewExpandedText",
"TableType",
"Parameters"
]
new_table = dict()
for key in field_names:
if key in old_table:
new_table[key] = old_table[key]
Теперь, когда у нас есть обновленная таблица, мы можем управлять именами столбцов. Вот пример изменения просто col_0 на new_col
for col in new_table['StorageDescriptor']['Columns']:
if col['Name'] == 'col_0':
col['Name'] = 'new_col'
response=self.glue_client.update_table(DatabaseName=database_name,TableInput=new_table)
Надеюсь, это поможет!
person
Ash_s94
schedule
05.12.2019