示例#1
0
 private Optional<List<String>> loadPartitionNamesByParts(PartitionFilter partitionFilter)
     throws Exception {
   try {
     return retry()
         .stopOn(NoSuchObjectException.class)
         .stopOnIllegalExceptions()
         .run(
             "getPartitionNamesByParts",
             stats
                 .getGetPartitionNamesPs()
                 .wrap(
                     () -> {
                       try (HiveMetastoreClient client = clientProvider.createMetastoreClient()) {
                         return Optional.of(
                             client.getPartitionNamesFiltered(
                                 partitionFilter.getHiveTableName().getDatabaseName(),
                                 partitionFilter.getHiveTableName().getTableName(),
                                 partitionFilter.getParts()));
                       }
                     }));
   } catch (NoSuchObjectException e) {
     return Optional.empty();
   } catch (TException e) {
     throw new PrestoException(HIVE_METASTORE_ERROR, e);
   }
 }
示例#2
0
 @Override
 public Optional<List<String>> getPartitionNamesByParts(
     String databaseName, String tableName, List<String> parts) {
   return get(
       partitionFilterCache, PartitionFilter.partitionFilter(databaseName, tableName, parts));
 }