запрос как к улью, так и к хранилищу метаданных

Я хочу получить имена столбцов и минимальное / максимальное значение каждого столбца с запросом.

Предположим, что я знаю только название таблицы.

я знаю следующие запросы.
table_name = people

select min(some_col_name_which_don't_know) from people
SELECT t.TBL_ID, d.NAME as `schema`, t.TBL_NAME name, t.TBL_TYPE, tp.PARAM_VALUE as description,
           p.PKEY_NAME as col_name, p.INTEGER_IDX as col_sort_order,
           p.PKEY_TYPE as col_type, p.PKEY_COMMENT as col_description, 1 as "is_partition_col",
           IF(t.TBL_TYPE = 'VIRTUAL_VIEW', 1, 0) "is_view"
FROM TBLS t
JOIN DBS d ON t.DB_ID = d.DB_ID
JOIN PARTITION_KEYS p ON t.TBL_ID = p.TBL_ID
WHRER TBL_NAME=people

Могу ли я объединить эти два запроса в один запрос?

Все ли в улье есть таблица типа information_schema?


person rogue    schedule 29.06.2020    source источник


Ответы (1)


Возможный дубликат: Улей, как мне получить все столбцы таблиц базы данных

Вы можете указать общее количество столбцов в таблице, используя следующую команду:

hive -e "show columns in <table name>" > table_list.txt

Следующим шагом будет перебор файла table_list.txt и построение строки запроса со всеми именами полей и их максимальными / минимальными запросами.

 for column in table_list:
   hive -e "select min("+column+") from <table name>" >> min_max_table.txt

Надеюсь это поможет.

person Rishu Shrivastava    schedule 29.06.2020