public static HiveColumnStatistics createDecimalColumnStatistics(Optional<BigDecimal> min, Optional<BigDecimal> max, OptionalLong nullsCount, OptionalLong distinctValuesCount) { return builder() .setDecimalStatistics(new DecimalStatistics(min, max)) .setNullsCount(nullsCount) .setDistinctValuesCount(distinctValuesCount) .build(); }
public static HiveColumnStatistics createDateColumnStatistics(Optional<LocalDate> min, Optional<LocalDate> max, OptionalLong nullsCount, OptionalLong distinctValuesCount) { return builder() .setDateStatistics(new DateStatistics(min, max)) .setNullsCount(nullsCount) .setDistinctValuesCount(distinctValuesCount) .build(); }
public void run(ExtendedHiveMetastore metastore) { undo = true; metastore.alterPartition(newPartition.getPartition().getDatabaseName(), newPartition.getPartition().getTableName(), newPartition); }
public static Properties getHiveSchema(Partition partition, Table table) { // Mimics function in Hive: MetaStoreUtils.getSchema(Partition, Table) return getHiveSchema( partition.getStorage(), partition.getColumns(), table.getDataColumns(), table.getParameters(), table.getDatabaseName(), table.getTableName(), table.getPartitionColumns()); }
public static HiveColumnStatistics createIntegerColumnStatistics(OptionalLong min, OptionalLong max, OptionalLong nullsCount, OptionalLong distinctValuesCount) { return builder() .setIntegerStatistics(new IntegerStatistics(min, max)) .setNullsCount(nullsCount) .setDistinctValuesCount(distinctValuesCount) .build(); }
public static HiveColumnStatistics createDoubleColumnStatistics(OptionalDouble min, OptionalDouble max, OptionalLong nullsCount, OptionalLong distinctValuesCount) { return builder() .setDoubleStatistics(new DoubleStatistics(min, max)) .setNullsCount(nullsCount) .setDistinctValuesCount(distinctValuesCount) .build(); }
public static HiveColumnStatistics createBooleanColumnStatistics(OptionalLong trueCount, OptionalLong falseCount, OptionalLong nullsCount) { return builder() .setBooleanStatistics(new BooleanStatistics(trueCount, falseCount)) .setNullsCount(nullsCount) .build(); }
@Override public void createTable(Table table, PrincipalPrivileges privileges) { // hack to work around the metastore not being configured for S3 or other FS Table.Builder tableBuilder = Table.builder(table); tableBuilder.getStorageBuilder().setLocation("/"); super.createTable(tableBuilder.build(), privileges); }
@Override public void createTable(Table table, PrincipalPrivileges principalPrivileges) { try { delegate.createTable(table, principalPrivileges); } finally { invalidateTable(table.getDatabaseName(), table.getTableName()); } }
@Override public void replaceTable(String databaseName, String tableName, Table newTable, PrincipalPrivileges principalPrivileges) { try { delegate.replaceTable(databaseName, tableName, newTable, principalPrivileges); } finally { invalidateTable(databaseName, tableName); invalidateTable(newTable.getDatabaseName(), newTable.getTableName()); } }
private static HiveColumnStatistics integerRange(OptionalLong min, OptionalLong max) { return HiveColumnStatistics.builder() .setIntegerStatistics(new IntegerStatistics(min, max)) .build(); }
private Optional<Partition> loadPartitionByName(HivePartitionName partitionName) { return delegate.getPartition( partitionName.getHiveTableName().getDatabaseName(), partitionName.getHiveTableName().getTableName(), partitionName.getPartitionValues()); }
private Optional<List<String>> loadPartitionNamesByParts(PartitionFilter partitionFilter) { return delegate.getPartitionNamesByParts( partitionFilter.getHiveTableName().getDatabaseName(), partitionFilter.getHiveTableName().getTableName(), partitionFilter.getParts()); }
@Override public void createDatabase(Database database) { try { delegate.createDatabase(database); } finally { invalidateDatabase(database.getDatabaseName()); } }
@Override public PartitionStatistics getTableStatistics(String databaseName, String tableName) { return loadValue( tableStatisticsCache, hiveTableName(databaseName, tableName), () -> delegate.getTableStatistics(databaseName, tableName)); }
@Override public Optional<Partition> getPartition(String databaseName, String tableName, List<String> partitionValues) { return loadValue( partitionCache, hivePartitionName(databaseName, tableName, partitionValues), () -> delegate.getPartition(databaseName, tableName, partitionValues)); }
@Override public Optional<List<String>> getPartitionNames(String databaseName, String tableName) { return loadValue( partitionNamesCache, hiveTableName(databaseName, tableName), () -> delegate.getPartitionNames(databaseName, tableName)); }
@Override public Set<HivePrivilegeInfo> getDatabasePrivileges(String user, String databaseName) { return loadValue( databasePrivilegesCache, new UserDatabaseKey(user, databaseName), () -> delegate.getDatabasePrivileges(user, databaseName)); }
@Override public Optional<Table> getTable(String databaseName, String tableName) { return loadValue(tableCache, hiveTableName(databaseName, tableName), () -> delegate.getTable(databaseName, tableName)); }
public void undo(ExtendedHiveMetastore metastore) { if (!undo) { return; } metastore.alterPartition(oldPartition.getPartition().getDatabaseName(), oldPartition.getPartition().getTableName(), oldPartition); } }