Перейти к содержимому
Последнее обновление

PARTITION_VALUES

Описание​

Табличная функция, создающая временную таблицу со значениями партиций и позволяющая просмотреть список значений партиций для указанной таблицы.

Эта функция используется в предложении FROM и поддерживает только таблицы hive.

Синтаксис​

PARTITION_VALUES(
"catalog"="<catalog>",
"database"="<database>",
"table"="<table>"
)

Обязательные параметры​

ПолеОписание
<catalog>Задаёт имя Catalog кластера, к которому выполняется запрос.
<database>Задаёт имя базы данных кластера, к которому выполняется запрос.
<table>Задаёт имя таблицы кластера, к которому выполняется запрос.

Возвращаемое значение​

Число столбцов в результирующей таблице соответствует числу полей партиционирования в запрашиваемой таблице.

Пример​

Оператор создания таблицы text_partitioned_columns в базе данных multi_catalog в Catalog hive3 выглядит следующим образом:

CREATE TABLE `text_partitioned_columns`(
`t_timestamp` timestamp)
PARTITIONED BY (
`t_int` int,
`t_float` float,
`t_string` string)

Данные выглядят следующим образом:

mysql> select * from text_partitioned_columns;
+----------------------------+-------+---------+----------+
| t_timestamp | t_int | t_float | t_string |
+----------------------------+-------+---------+----------+
| 2023-01-01 00:00:00.000000 | NULL | 0.1 | test1 |
| 2023-01-02 00:00:00.000000 | NULL | 0.2 | test2 |
| 2023-01-03 00:00:00.000000 | 100 | 0.3 | test3 |
+----------------------------+-------+---------+----------+

Просмотр списка значений партиций таблицы text_partitioned_columns в базе данных multi_catalog в Catalog hive3:

select * from partition_values("catalog"="hive3", "database" = "multi_catalog","table" = "text_partitioned_columns");
+-------+---------+----------+
| t_int | t_float | t_string |
+-------+---------+----------+
| 100 | 0.3 | test3 |
| NULL | 0.2 | test2 |
| NULL | 0.1 | test1 |
+-------+---------+----------+