Я хочу получить информацию обо всех базах данных и связанных с ними таблицах и столбцах. Очевидно, я могу сделать это из метамагазина. Но у меня нет к нему доступа. Итак, есть ли другой способ вместо того, чтобы запрашивать каждую базу данных по одному.
Как получить все столбцы столбцов базы данных
comment
stackoverflow.com/questions/26181454 /
- person Shyamala Gopalakrishnan   schedule 04.12.2017
Ответы (2)
вам понадобится python, но я сделал это с помощью этого:
databases = run_hive_query('show schemas')
databases = list(databases.database_name)
schema = {'DB':[],
'Table':[],
'Column':[],
'DataType':[]}
for db in databases:
tables = run_hive_query( 'show tables from ' +db)
tables = list(tables.tab_name)
for tb in tables:
try:
columns = (run_hive_query('desc ' + db+'.'+tb))
print(db + ' '+ tb)
except:
print('failed'+db + ' '+ tb)
try:
for x in range(columns.shape[0]):
schema['DB'].append(db)
schema['Table'].append(tb)
schema['Column'].append(columns.iloc[x][0])
schema['DataType'].append(columns.iloc[x][1])
except:
print('failed'+db + ' '+ tb)
person
sebastian riera
schedule
27.07.2018
Вы должны иметь возможность запускать следующие команды. Я думаю, вы могли бы написать сценарий для работы со всеми базами данных и всеми таблицами.
SHOW DATABASES;
SHOW TABLES;
DESCRIBE <table_name>;
person
Dave Whittingham
schedule
04.12.2017