Последнее обновление
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 |
+-------+---------+----------+