in redash/query_runner/hive_ds.py [0:0]
def _get_tables(self, schema):
schemas_query = "show schemas"
tables_query = "show tables in %s"
columns_query = "show columns in %s.%s"
for schema_name in [
a
for a in [
str(a["database_name"]) for a in self._run_query_internal(schemas_query)
]
if len(a) > 0
]:
for table_name in [
a
for a in [
str(a["tab_name"])
for a in self._run_query_internal(tables_query % schema_name)
]
if len(a) > 0
]:
columns = [
a
for a in [
str(a["field"])
for a in self._run_query_internal(
columns_query % (schema_name, table_name)
)
]
if len(a) > 0
]
if schema_name != "default":
table_name = "{}.{}".format(schema_name, table_name)
schema[table_name] = {"name": table_name, "columns": columns}
return list(schema.values())