Search in sources :

Example 21 with PartitionStatistics

use of io.prestosql.plugin.hive.PartitionStatistics in project hetu-core by openlookeng.

the class TestMetastoreHiveStatisticsProvider method testGetTableStatisticsValidationFailure.

@Test
public void testGetTableStatisticsValidationFailure() {
    PartitionStatistics corruptedStatistics = PartitionStatistics.builder().setBasicStatistics(new HiveBasicStatistics(-1, 0, 0, 0)).build();
    String partitionName = "p1=string1/p2=1234";
    MetastoreHiveStatisticsProvider statisticsProvider = new MetastoreHiveStatisticsProvider((session, schemaTableName, hivePartitions, table) -> ImmutableMap.of(partitionName, corruptedStatistics));
    TestingConnectorSession session = new TestingConnectorSession(new HiveSessionProperties(new HiveConfig().setIgnoreCorruptedStatistics(false), new OrcFileWriterConfig(), new ParquetFileWriterConfig()).getSessionProperties());
    assertThatThrownBy(() -> statisticsProvider.getTableStatistics(session, TABLE, ImmutableMap.of(), ImmutableMap.of(), ImmutableList.of(partition(partitionName)), true, table)).isInstanceOf(PrestoException.class).hasFieldOrPropertyWithValue("errorCode", HiveErrorCode.HIVE_CORRUPTED_COLUMN_STATISTICS.toErrorCode());
    TestingConnectorSession ignoreSession = new TestingConnectorSession(new HiveSessionProperties(new HiveConfig().setIgnoreCorruptedStatistics(true), new OrcFileWriterConfig(), new ParquetFileWriterConfig()).getSessionProperties());
    assertEquals(statisticsProvider.getTableStatistics(ignoreSession, TABLE, ImmutableMap.of(), ImmutableMap.of(), ImmutableList.of(partition(partitionName)), true, table), TableStatistics.empty());
}
Also used : MetastoreHiveStatisticsProvider.validatePartitionStatistics(io.prestosql.plugin.hive.statistics.MetastoreHiveStatisticsProvider.validatePartitionStatistics) PartitionStatistics(io.prestosql.plugin.hive.PartitionStatistics) TestingConnectorSession(io.prestosql.testing.TestingConnectorSession) OrcFileWriterConfig(io.prestosql.plugin.hive.OrcFileWriterConfig) PrestoException(io.prestosql.spi.PrestoException) HiveBasicStatistics(io.prestosql.plugin.hive.HiveBasicStatistics) HiveSessionProperties(io.prestosql.plugin.hive.HiveSessionProperties) ParquetFileWriterConfig(io.prestosql.plugin.hive.ParquetFileWriterConfig) HiveConfig(io.prestosql.plugin.hive.HiveConfig) Test(org.testng.annotations.Test)

Example 22 with PartitionStatistics

use of io.prestosql.plugin.hive.PartitionStatistics in project hetu-core by openlookeng.

the class TestMetastoreHiveStatisticsProvider method testGetTableStatisticsUnpartitioned.

@Test
public void testGetTableStatisticsUnpartitioned() {
    PartitionStatistics statistics = PartitionStatistics.builder().setBasicStatistics(new HiveBasicStatistics(OptionalLong.empty(), OptionalLong.of(1000), OptionalLong.empty(), OptionalLong.empty())).setColumnStatistics(ImmutableMap.of(COLUMN, HiveColumnStatistics.createIntegerColumnStatistics(OptionalLong.of(-100), OptionalLong.of(100), OptionalLong.of(500), OptionalLong.of(300)))).build();
    MetastoreHiveStatisticsProvider statisticsProvider = new MetastoreHiveStatisticsProvider((session, schemaTableName, hivePartitions, table) -> ImmutableMap.of(UNPARTITIONED_ID, statistics));
    TestingConnectorSession session = new TestingConnectorSession(new HiveSessionProperties(new HiveConfig(), new OrcFileWriterConfig(), new ParquetFileWriterConfig()).getSessionProperties());
    HiveColumnHandle columnHandle = new HiveColumnHandle(COLUMN, HIVE_LONG, BIGINT.getTypeSignature(), 2, REGULAR, Optional.empty());
    TableStatistics expected = TableStatistics.builder().setRowCount(Estimate.of(1000)).setColumnStatistics(columnHandle, ColumnStatistics.builder().setRange(new DoubleRange(-100, 100)).setNullsFraction(Estimate.of(0.5)).setDistinctValuesCount(Estimate.of(300)).build()).build();
    assertEquals(statisticsProvider.getTableStatistics(session, TABLE, ImmutableMap.of(COLUMN, columnHandle), ImmutableMap.of(COLUMN, BIGINT), ImmutableList.of(new HivePartition(TABLE)), true, table), expected);
}
Also used : DoubleRange(io.prestosql.spi.statistics.DoubleRange) MetastoreHiveStatisticsProvider.validatePartitionStatistics(io.prestosql.plugin.hive.statistics.MetastoreHiveStatisticsProvider.validatePartitionStatistics) PartitionStatistics(io.prestosql.plugin.hive.PartitionStatistics) TestingConnectorSession(io.prestosql.testing.TestingConnectorSession) OrcFileWriterConfig(io.prestosql.plugin.hive.OrcFileWriterConfig) TableStatistics(io.prestosql.spi.statistics.TableStatistics) HiveBasicStatistics(io.prestosql.plugin.hive.HiveBasicStatistics) HiveSessionProperties(io.prestosql.plugin.hive.HiveSessionProperties) ParquetFileWriterConfig(io.prestosql.plugin.hive.ParquetFileWriterConfig) HiveColumnHandle(io.prestosql.plugin.hive.HiveColumnHandle) HiveConfig(io.prestosql.plugin.hive.HiveConfig) HivePartition(io.prestosql.plugin.hive.HivePartition) Test(org.testng.annotations.Test)

Example 23 with PartitionStatistics

use of io.prestosql.plugin.hive.PartitionStatistics in project boostkit-bigdata by kunpengcompute.

the class CachingHiveMetastore method getPartitionStatistics.

@Override
public Map<String, PartitionStatistics> getPartitionStatistics(HiveIdentity identity, Table table, List<Partition> partitionNames) {
    HiveTableName hiveTableName = hiveTableName(table.getDatabaseName(), table.getTableName());
    List<WithIdentity<HivePartitionName>> partitions = partitionNames.stream().map(partition -> new WithIdentity<>(updateIdentity(identity), hivePartitionName(hiveTableName, makePartitionName(table, partition)))).collect(toImmutableList());
    if (skipTableCache) {
        HiveIdentity identity1 = updateIdentity(identity);
        return delegate.getPartitionStatistics(identity1, table, partitionNames);
    }
    Map<WithIdentity<HivePartitionName>, WithValidation<Table, PartitionStatistics>> statistics = getAll(partitionStatisticsCache, partitions);
    if (dontVerifyCacheEntry || statistics.size() == 0) {
        return statistics.entrySet().stream().collect(toImmutableMap(entry -> entry.getKey().getKey().getPartitionName().get(), entry -> entry.getValue().get()));
    }
    Map<WithIdentity<HivePartitionName>, WithValidation<Table, PartitionStatistics>> finalStatistics = statistics;
    boolean allMatch = partitionNames.stream().allMatch(partition -> finalStatistics.get(new WithIdentity<>(updateIdentity(identity), hivePartitionName(hiveTableName, makePartitionName(table, partition)))).matches(getCacheValidationPartitionParams(table, ThriftMetastoreUtil.getHiveBasicStatistics(partition.getParameters()))));
    if (allMatch) {
        return statistics.entrySet().stream().collect(toImmutableMap(entry -> entry.getKey().getKey().getPartitionName().get(), entry -> entry.getValue().get()));
    }
    partitionCache.invalidate(partitions);
    partitionStatisticsCache.invalidate(partitions);
    statistics = getAll(partitionStatisticsCache, partitions);
    return statistics.entrySet().stream().collect(toImmutableMap(entry -> entry.getKey().getKey().getPartitionName().get(), entry -> entry.getValue().get()));
}
Also used : HiveBasicStatistics(io.prestosql.plugin.hive.HiveBasicStatistics) LoadingCache(com.google.common.cache.LoadingCache) Iterables.transform(com.google.common.collect.Iterables.transform) ShowLocksResponse(org.apache.hadoop.hive.metastore.api.ShowLocksResponse) Throwables.throwIfUnchecked(com.google.common.base.Throwables.throwIfUnchecked) RoleGrant(io.prestosql.spi.security.RoleGrant) Duration(io.airlift.units.Duration) Preconditions.checkArgument(com.google.common.base.Preconditions.checkArgument) TableNotFoundException(io.prestosql.spi.connector.TableNotFoundException) HiveConfig(io.prestosql.plugin.hive.HiveConfig) Maps.immutableEntry(com.google.common.collect.Maps.immutableEntry) Map(java.util.Map) HivePartitionManager.extractPartitionValues(io.prestosql.plugin.hive.HivePartitionManager.extractPartitionValues) Type(io.prestosql.spi.type.Type) HiveErrorCode(io.prestosql.plugin.hive.HiveErrorCode) PrestoException(io.prestosql.spi.PrestoException) ImmutableMap(com.google.common.collect.ImmutableMap) ImmutableList.toImmutableList(com.google.common.collect.ImmutableList.toImmutableList) Set(java.util.Set) ThreadSafe(javax.annotation.concurrent.ThreadSafe) MILLISECONDS(java.util.concurrent.TimeUnit.MILLISECONDS) HiveType(io.prestosql.plugin.hive.HiveType) ShowLocksRequest(org.apache.hadoop.hive.metastore.api.ShowLocksRequest) HivePartition(io.prestosql.plugin.hive.HivePartition) CacheLoader(com.google.common.cache.CacheLoader) Objects(java.util.Objects) List(java.util.List) ImmutableMap.toImmutableMap(com.google.common.collect.ImmutableMap.toImmutableMap) Entry(java.util.Map.Entry) ThriftMetastoreUtil(io.prestosql.plugin.hive.metastore.thrift.ThriftMetastoreUtil) Optional(java.util.Optional) CacheBuilder(com.google.common.cache.CacheBuilder) MoreObjects.toStringHelper(com.google.common.base.MoreObjects.toStringHelper) Iterables(com.google.common.collect.Iterables) Logger(io.airlift.log.Logger) ImmutableSetMultimap.toImmutableSetMultimap(com.google.common.collect.ImmutableSetMultimap.toImmutableSetMultimap) MoreExecutors.newDirectExecutorService(com.google.common.util.concurrent.MoreExecutors.newDirectExecutorService) Function(java.util.function.Function) ColumnStatisticType(io.prestosql.spi.statistics.ColumnStatisticType) MetastoreUtil.makePartitionName(io.prestosql.plugin.hive.metastore.MetastoreUtil.makePartitionName) ArrayList(java.util.ArrayList) DataOperationType(org.apache.hadoop.hive.metastore.api.DataOperationType) Inject(javax.inject.Inject) OptionalLong(java.util.OptionalLong) ForCachingHiveMetastoreTableRefresh(io.prestosql.plugin.hive.ForCachingHiveMetastoreTableRefresh) SchemaTableName(io.prestosql.spi.connector.SchemaTableName) ImmutableList(com.google.common.collect.ImmutableList) Managed(org.weakref.jmx.Managed) UncheckedExecutionException(com.google.common.util.concurrent.UncheckedExecutionException) HivePartitionName.hivePartitionName(io.prestosql.plugin.hive.metastore.HivePartitionName.hivePartitionName) Objects.requireNonNull(java.util.Objects.requireNonNull) ImmutableSet.toImmutableSet(com.google.common.collect.ImmutableSet.toImmutableSet) HiveIdentity(io.prestosql.plugin.hive.authentication.HiveIdentity) ForCachingHiveMetastore(io.prestosql.plugin.hive.ForCachingHiveMetastore) PartitionStatistics(io.prestosql.plugin.hive.PartitionStatistics) Executor(java.util.concurrent.Executor) HiveTableName.hiveTableName(io.prestosql.plugin.hive.metastore.HiveTableName.hiveTableName) Throwables.throwIfInstanceOf(com.google.common.base.Throwables.throwIfInstanceOf) SetMultimap(com.google.common.collect.SetMultimap) ExecutionException(java.util.concurrent.ExecutionException) Streams.stream(com.google.common.collect.Streams.stream) NodeManager(io.prestosql.spi.NodeManager) CacheLoader.asyncReloading(com.google.common.cache.CacheLoader.asyncReloading) PartitionNotFoundException(io.prestosql.plugin.hive.PartitionNotFoundException) HiveIdentity(io.prestosql.plugin.hive.authentication.HiveIdentity)

Example 24 with PartitionStatistics

use of io.prestosql.plugin.hive.PartitionStatistics in project boostkit-bigdata by kunpengcompute.

the class GlueHiveMetastore method updateTableStatistics.

@Override
public void updateTableStatistics(HiveIdentity identity, String databaseName, String tableName, Function<PartitionStatistics, PartitionStatistics> update) {
    Table table = getTableOrElseThrow(identity, databaseName, tableName);
    PartitionStatistics currentStatistics = getTableStatistics(identity, table);
    PartitionStatistics updatedStatistics = update.apply(currentStatistics);
    if (!updatedStatistics.getColumnStatistics().isEmpty()) {
        throw new PrestoException(NOT_SUPPORTED, "Glue metastore does not support column level statistics");
    }
    try {
        TableInput tableInput = GlueInputConverter.convertTable(table);
        tableInput.setParameters(ThriftMetastoreUtil.updateStatisticsParameters(table.getParameters(), updatedStatistics.getBasicStatistics()));
        glueClient.updateTable(new UpdateTableRequest().withCatalogId(catalogId).withDatabaseName(databaseName).withTableInput(tableInput));
    } catch (EntityNotFoundException e) {
        throw new TableNotFoundException(new SchemaTableName(databaseName, tableName));
    } catch (AmazonServiceException e) {
        throw new PrestoException(HiveErrorCode.HIVE_METASTORE_ERROR, e);
    }
}
Also used : TableInput(com.amazonaws.services.glue.model.TableInput) TableNotFoundException(io.prestosql.spi.connector.TableNotFoundException) Table(io.prestosql.plugin.hive.metastore.Table) PartitionStatistics(io.prestosql.plugin.hive.PartitionStatistics) UpdateTableRequest(com.amazonaws.services.glue.model.UpdateTableRequest) AmazonServiceException(com.amazonaws.AmazonServiceException) PrestoException(io.prestosql.spi.PrestoException) EntityNotFoundException(com.amazonaws.services.glue.model.EntityNotFoundException) SchemaTableName(io.prestosql.spi.connector.SchemaTableName)

Example 25 with PartitionStatistics

use of io.prestosql.plugin.hive.PartitionStatistics in project boostkit-bigdata by kunpengcompute.

the class ThriftHiveMetastore method getPartitionStatistics.

@Override
public Map<String, PartitionStatistics> getPartitionStatistics(HiveIdentity identity, Table table, List<Partition> partitions) {
    List<String> dataColumns = table.getSd().getCols().stream().map(FieldSchema::getName).collect(toImmutableList());
    List<String> partitionColumns = table.getPartitionKeys().stream().map(FieldSchema::getName).collect(toImmutableList());
    Map<String, HiveBasicStatistics> partitionBasicStatistics = partitions.stream().collect(toImmutableMap(partition -> makePartName(partitionColumns, partition.getValues()), partition -> ThriftMetastoreUtil.getHiveBasicStatistics(partition.getParameters())));
    Map<String, OptionalLong> partitionRowCounts = partitionBasicStatistics.entrySet().stream().collect(toImmutableMap(Map.Entry::getKey, entry -> entry.getValue().getRowCount()));
    Map<String, Map<String, HiveColumnStatistics>> partitionColumnStatistics = getPartitionColumnStatistics(identity, table.getDbName(), table.getTableName(), partitionBasicStatistics.keySet(), dataColumns, partitionRowCounts);
    ImmutableMap.Builder<String, PartitionStatistics> result = ImmutableMap.builder();
    for (String partitionName : partitionBasicStatistics.keySet()) {
        HiveBasicStatistics basicStatistics = partitionBasicStatistics.get(partitionName);
        Map<String, HiveColumnStatistics> columnStatistics = partitionColumnStatistics.getOrDefault(partitionName, ImmutableMap.of());
        result.put(partitionName, new PartitionStatistics(basicStatistics, columnStatistics));
    }
    return result.build();
}
Also used : LockComponentBuilder(org.apache.hadoop.hive.metastore.LockComponentBuilder) HiveViewNotSupportedException(io.prestosql.plugin.hive.HiveViewNotSupportedException) ShowLocksResponse(org.apache.hadoop.hive.metastore.api.ShowLocksResponse) Throwables.throwIfUnchecked(com.google.common.base.Throwables.throwIfUnchecked) TableAlreadyExistsException(io.prestosql.spi.connector.TableAlreadyExistsException) RoleGrant(io.prestosql.spi.security.RoleGrant) NoSuchTxnException(org.apache.hadoop.hive.metastore.api.NoSuchTxnException) AlreadyExistsException(org.apache.hadoop.hive.metastore.api.AlreadyExistsException) SchemaAlreadyExistsException(io.prestosql.spi.connector.SchemaAlreadyExistsException) Sets.difference(com.google.common.collect.Sets.difference) TableNotFoundException(io.prestosql.spi.connector.TableNotFoundException) Map(java.util.Map) InvalidInputException(org.apache.hadoop.hive.metastore.api.InvalidInputException) HiveErrorCode(io.prestosql.plugin.hive.HiveErrorCode) ImmutableList.toImmutableList(com.google.common.collect.ImmutableList.toImmutableList) Set(java.util.Set) ThreadSafe(javax.annotation.concurrent.ThreadSafe) ImmutableMap.toImmutableMap(com.google.common.collect.ImmutableMap.toImmutableMap) InvalidOperationException(org.apache.hadoop.hive.metastore.api.InvalidOperationException) TxnAbortedException(org.apache.hadoop.hive.metastore.api.TxnAbortedException) Verify.verifyNotNull(com.google.common.base.Verify.verifyNotNull) ALREADY_EXISTS(io.prestosql.spi.StandardErrorCode.ALREADY_EXISTS) Iterables(com.google.common.collect.Iterables) ConfigValSecurityException(org.apache.hadoop.hive.metastore.api.ConfigValSecurityException) Flatten(org.weakref.jmx.Flatten) HIVE_FILTER_FIELD_PARAMS(org.apache.hadoop.hive.metastore.api.hive_metastoreConstants.HIVE_FILTER_FIELD_PARAMS) Callable(java.util.concurrent.Callable) ArrayList(java.util.ArrayList) DataOperationType(org.apache.hadoop.hive.metastore.api.DataOperationType) OptionalLong(java.util.OptionalLong) Managed(org.weakref.jmx.Managed) LockState(org.apache.hadoop.hive.metastore.api.LockState) PrivilegeGrantInfo(org.apache.hadoop.hive.metastore.api.PrivilegeGrantInfo) PartitionStatistics(io.prestosql.plugin.hive.PartitionStatistics) UnknownDBException(org.apache.hadoop.hive.metastore.api.UnknownDBException) FileUtils.makePartName(org.apache.hadoop.hive.common.FileUtils.makePartName) TException(org.apache.thrift.TException) PrincipalType(org.apache.hadoop.hive.metastore.api.PrincipalType) IOException(java.io.IOException) Iterables.getOnlyElement(com.google.common.collect.Iterables.getOnlyElement) USER(io.prestosql.spi.security.PrincipalType.USER) Table(org.apache.hadoop.hive.metastore.api.Table) System.nanoTime(java.lang.System.nanoTime) HiveColumnStatistics(io.prestosql.plugin.hive.metastore.HiveColumnStatistics) HiveObjectRef(org.apache.hadoop.hive.metastore.api.HiveObjectRef) PartitionNotFoundException(io.prestosql.plugin.hive.PartitionNotFoundException) NoSuchObjectException(org.apache.hadoop.hive.metastore.api.NoSuchObjectException) HiveBasicStatistics(io.prestosql.plugin.hive.HiveBasicStatistics) MetaException(org.apache.hadoop.hive.metastore.api.MetaException) LockRequest(org.apache.hadoop.hive.metastore.api.LockRequest) Duration(io.airlift.units.Duration) RetryDriver(io.prestosql.plugin.hive.util.RetryDriver) Preconditions.checkArgument(com.google.common.base.Preconditions.checkArgument) Throwables.propagateIfPossible(com.google.common.base.Throwables.propagateIfPossible) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Locale(java.util.Locale) LockComponent(org.apache.hadoop.hive.metastore.api.LockComponent) Type(io.prestosql.spi.type.Type) Collectors.toSet(java.util.stream.Collectors.toSet) PrivilegeBag(org.apache.hadoop.hive.metastore.api.PrivilegeBag) PrestoException(io.prestosql.spi.PrestoException) NoSuchLockException(org.apache.hadoop.hive.metastore.api.NoSuchLockException) ImmutableSet(com.google.common.collect.ImmutableSet) ImmutableMap(com.google.common.collect.ImmutableMap) LockRequestBuilder(org.apache.hadoop.hive.metastore.LockRequestBuilder) ColumnStatisticsObj(org.apache.hadoop.hive.metastore.api.ColumnStatisticsObj) LockResponse(org.apache.hadoop.hive.metastore.api.LockResponse) HiveType(io.prestosql.plugin.hive.HiveType) ShowLocksRequest(org.apache.hadoop.hive.metastore.api.ShowLocksRequest) Collectors(java.util.stream.Collectors) String.format(java.lang.String.format) HivePartition(io.prestosql.plugin.hive.HivePartition) List(java.util.List) PRESTO_VIEW_FLAG(io.prestosql.plugin.hive.HiveUtil.PRESTO_VIEW_FLAG) Optional(java.util.Optional) NOT_SUPPORTED(io.prestosql.spi.StandardErrorCode.NOT_SUPPORTED) HiveObjectPrivilege(org.apache.hadoop.hive.metastore.api.HiveObjectPrivilege) Logger(io.airlift.log.Logger) HivePrincipal(io.prestosql.plugin.hive.metastore.HivePrincipal) Partition(org.apache.hadoop.hive.metastore.api.Partition) Function(java.util.function.Function) ColumnStatisticType(io.prestosql.spi.statistics.ColumnStatisticType) Inject(javax.inject.Inject) HashSet(java.util.HashSet) SchemaTableName(io.prestosql.spi.connector.SchemaTableName) ImmutableList(com.google.common.collect.ImmutableList) HivePrivilegeInfo(io.prestosql.plugin.hive.metastore.HivePrivilegeInfo) Objects.requireNonNull(java.util.Objects.requireNonNull) TABLE(org.apache.hadoop.hive.metastore.api.HiveObjectType.TABLE) HiveIdentity(io.prestosql.plugin.hive.authentication.HiveIdentity) Iterator(java.util.Iterator) UnknownTableException(org.apache.hadoop.hive.metastore.api.UnknownTableException) PartitionWithStatistics(io.prestosql.plugin.hive.metastore.PartitionWithStatistics) SchemaNotFoundException(io.prestosql.spi.connector.SchemaNotFoundException) InvalidObjectException(org.apache.hadoop.hive.metastore.api.InvalidObjectException) FieldSchema(org.apache.hadoop.hive.metastore.api.FieldSchema) Column(io.prestosql.plugin.hive.metastore.Column) Closeable(java.io.Closeable) Database(org.apache.hadoop.hive.metastore.api.Database) HiveColumnStatistics(io.prestosql.plugin.hive.metastore.HiveColumnStatistics) HiveBasicStatistics(io.prestosql.plugin.hive.HiveBasicStatistics) ImmutableMap.toImmutableMap(com.google.common.collect.ImmutableMap.toImmutableMap) ImmutableMap(com.google.common.collect.ImmutableMap) PartitionStatistics(io.prestosql.plugin.hive.PartitionStatistics) OptionalLong(java.util.OptionalLong) Map(java.util.Map) ImmutableMap.toImmutableMap(com.google.common.collect.ImmutableMap.toImmutableMap) ImmutableMap(com.google.common.collect.ImmutableMap)

Aggregations

PartitionStatistics (io.prestosql.plugin.hive.PartitionStatistics)62 PrestoException (io.prestosql.spi.PrestoException)32 HiveBasicStatistics (io.prestosql.plugin.hive.HiveBasicStatistics)31 SchemaTableName (io.prestosql.spi.connector.SchemaTableName)31 HivePartition (io.prestosql.plugin.hive.HivePartition)20 HiveIdentity (io.prestosql.plugin.hive.authentication.HiveIdentity)18 TableNotFoundException (io.prestosql.spi.connector.TableNotFoundException)18 ImmutableList.toImmutableList (com.google.common.collect.ImmutableList.toImmutableList)16 ImmutableMap (com.google.common.collect.ImmutableMap)16 PartitionNotFoundException (io.prestosql.plugin.hive.PartitionNotFoundException)16 ArrayList (java.util.ArrayList)15 HiveColumnStatistics (io.prestosql.plugin.hive.metastore.HiveColumnStatistics)14 List (java.util.List)14 OptionalLong (java.util.OptionalLong)14 Preconditions.checkArgument (com.google.common.base.Preconditions.checkArgument)12 ImmutableList (com.google.common.collect.ImmutableList)12 Logger (io.airlift.log.Logger)12 HiveErrorCode (io.prestosql.plugin.hive.HiveErrorCode)12 Type (io.prestosql.spi.type.Type)12 Map (java.util.Map)12