partitionspartitions
The table function generates a temporary partition TABLE, which allows you to view the PARTITION list of a certain TABLE.
This function is used in the from clause.
partitions("catalog"="","database"="","table"="")
partitions() Table structure:
mysql> desc function partitions("catalog"="internal","database"="zd","table"="user"); +--------------------------+---------+------+-------+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+---------+------+-------+---------+-------+ | PartitionId | BIGINT | No | false | NULL | NONE | | PartitionName | TEXT | No | false | NULL | NONE | | VisibleVersion | BIGINT | No | false | NULL | NONE | | VisibleVersionTime | TEXT | No | false | NULL | NONE | | State | TEXT | No | false | NULL | NONE | | PartitionKey | TEXT | No | false | NULL | NONE | | Range | TEXT | No | false | NULL | NONE | | DistributionKey | TEXT | No | false | NULL | NONE | | Buckets | INT | No | false | NULL | NONE | | ReplicationNum | INT | No | false | NULL | NONE | | StorageMedium | TEXT | No | false | NULL | NONE | | CooldownTime | TEXT | No | false | NULL | NONE | | RemoteStoragePolicy | TEXT | No | false | NULL | NONE | | LastConsistencyCheckTime | TEXT | No | false | NULL | NONE | | DataSize | TEXT | No | false | NULL | NONE | | IsInMemory | BOOLEAN | No | false | NULL | NONE | | ReplicaAllocation | TEXT | No | false | NULL | NONE | | IsMutable | BOOLEAN | No | false | NULL | NONE | | SyncWithBaseTables | BOOLEAN | No | false | NULL | NONE | | UnsyncTables | TEXT | No | false | NULL | NONE | +--------------------------+---------+------+-------+---------+-------+ 20 rows in set (0.02 sec)
mysql> desc function partitions("catalog"="hive","database"="zdtest","table"="com2"); +-----------+------+------+-------+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+------+------+-------+---------+-------+ | Partition | TEXT | No | false | NULL | NONE | +-----------+------+------+-------+---------+-------+ 1 row in set (0.11 sec)
mysql> select * from partitions("catalog"="internal","database"="db1","table"="table1");
mysql> select * from partitions("catalog"="internal","database"="db1","table"="table1") where PartitionName = "partition1";
mysql> select PartitionId from partitions("catalog"="internal","database"="db1","table"="table1") where PartitionName = "partition1";
partitions