获取hive中与regex匹配的所有匹配分区

mpgws1up  于 2021-07-13  发布在  Hadoop
关注(0)|答案(0)|浏览(213)

我有一个配置单元表,它是多个列上的分区。我需要获取部分分区名的分区列表。
例如:表foo\u table是分区

| PARTITIONED BY (                                   |
|   `dt` string COMMENT 'Custom Partition.',         |
|   `h` string COMMENT 'Custom Partition.',          |
|   `b` string COMMENT 'Custom Partition.',          |
|   `sv` string COMMENT 'Custom Partition',          |
|   `p` string COMMENT 'Custom Partition',           |
|   `dc` string COMMENT 'Custom Partition')

现在我需要获取所有的分区,比如dt=somevalue
如果我给出所有分区列的值,下面的代码将起作用。

List<String> list = ...
list.add("dt=2021-02-01/h=19/b=30/sv=1/p=03/dc=aa")
List<Partition> partitions = HiveMetaStoreClient.getPartitionsByNames(database, tableName, list)

但如果我只想通过给 dt=2021-02-01/h=19 这不管用。

List<String> list = ...
list.add("dt=2021-02-01/h=19") 
//OR
list.add("dt=2021-02-01/h=19/") 
//OR
list.add("dt=2021-02-01/h=19/*") 
//OR
list.add("dt=2021-02-01/h=19/b=*/sv=*/p=*/dc=*")
List<Partition> partitions = HiveMetaStoreClient.getPartitionsByNames(database, tableName, list)

如何做到这一点?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题