/** * {@inheritDoc} */ @Override public void alter_partitions(final String dbName, final String tblName, final List<Partition> newParts) throws TException { final String databaseName = normalizeIdentifier(dbName); final String tableName = normalizeIdentifier(tblName); requestWrapper("add_partition", new Object[]{databaseName, tableName}, () -> { addPartitionsCore(dbName, tableName, newParts, false); return null; }); }
/** * {@inheritDoc} */ @Override public Partition add_partition(final Partition newPart) throws TException { return add_partition_with_environment_context(newPart, null); }
/** * {@inheritDoc} */ @Override public void alter_partition(final String dbName, final String tblName, final Partition newPart) throws TException { alter_partition_with_environment_context(dbName, tblName, newPart, null); }
private Partition appendPartitionsCoreAndReturn(final String dbName, final String tblName, final String partName) throws TException { appendPartitionsCore(dbName, tblName, partName); return getPartitionByName(dbName, tblName, partName); }
/** * {@inheritDoc} */ @Override public Partition append_partition_by_name_with_environment_context( final String dbName, final String tblName, final String partName, @Nullable final EnvironmentContext environmentContext ) throws TException { return requestWrapper("append_partition_by_name_with_environment_context", new Object[]{dbName, tblName, partName}, () -> appendPartitionsCoreAndReturn(dbName, tblName, partName)); }
/** * {@inheritDoc} */ @Override public Partition append_partition_with_environment_context( final String dbName, final String tblName, final List<String> partVals, @Nullable final EnvironmentContext environmentContext ) throws TException { return requestWrapper("append_partition_by_name_with_environment_context", new Object[]{dbName, tblName, partVals}, () -> { final TableDto tableDto = getTableDto(dbName, tblName); final String partName = hiveConverters.getNameFromPartVals(tableDto, partVals); appendPartitionsCore(dbName, tblName, partName); return hiveConverters.metacatToHivePartition(getPartitionDtoByName(tableDto, partName), tableDto); }); }
/** * {@inheritDoc} */ @Override public int add_partitions_pspec(final List<PartitionSpec> newParts) throws TException { if (newParts == null || newParts.isEmpty()) { return 0; } final String dbName = newParts.get(0).getDbName(); final String tableName = newParts.get(0).getTableName(); return requestWrapper("add_partition", new Object[]{dbName, tableName}, () -> { final PartitionSpecProxy partitionSpecProxy = PartitionSpecProxy.Factory.get(newParts); final PartitionSpecProxy.PartitionIterator partitionIterator = partitionSpecProxy.getPartitionIterator(); final List<Partition> partitions = addPartitionsCore(dbName, tableName, Lists.newArrayList(partitionIterator), false); return partitions.size(); }); }
/** * {@inheritDoc} */ @Override public TProcessor getProcessor() { return new ThriftHiveMetastore.Processor<>( new CatalogThriftHiveMetastore(config, hiveConverters, metacatV1, partitionV1, catalogName, registry) ); }
/** * {@inheritDoc} */ @Override public void alter_table(final String dbname, final String tblName, final Table newTbl) throws TException { alter_table_with_environment_context(dbname, tblName, newTbl, null); }
/** * {@inheritDoc} */ @Override public Partition append_partition_by_name(final String dbName, final String tblName, final String partName) throws TException { return append_partition_by_name_with_environment_context(dbName, tblName, partName, null); }
/** * {@inheritDoc} */ @Override public void create_table(final Table tbl) throws TException { create_table_with_environment_context(tbl, null); }
/** * {@inheritDoc} */ @Override public Partition append_partition(final String dbName, final String tblName, final List<String> partVals) throws TException { return append_partition_with_environment_context(dbName, tblName, partVals, null); }
/** * {@inheritDoc} */ @Override public Partition append_partition_with_environment_context( final String dbName, final String tblName, final List<String> partVals, @Nullable final EnvironmentContext environmentContext ) throws TException { return requestWrapper("append_partition_by_name_with_environment_context", new Object[]{dbName, tblName, partVals}, () -> { final TableDto tableDto = getTableDto(dbName, tblName); final String partName = hiveConverters.getNameFromPartVals(tableDto, partVals); appendPartitionsCore(dbName, tblName, partName); return hiveConverters.metacatToHivePartition(getPartitionDtoByName(tableDto, partName), tableDto); }); }
private Partition appendPartitionsCoreAndReturn(final String dbName, final String tblName, final String partName) throws TException { appendPartitionsCore(dbName, tblName, partName); return getPartitionByName(dbName, tblName, partName); }
/** * {@inheritDoc} */ @Override public Partition append_partition_by_name_with_environment_context( final String dbName, final String tblName, final String partName, @Nullable final EnvironmentContext environmentContext ) throws TException { return requestWrapper("append_partition_by_name_with_environment_context", new Object[]{dbName, tblName, partName}, () -> appendPartitionsCoreAndReturn(dbName, tblName, partName)); }
/** * {@inheritDoc} */ @Override public int add_partitions_pspec(final List<PartitionSpec> newParts) throws TException { if (newParts == null || newParts.isEmpty()) { return 0; } final String dbName = newParts.get(0).getDbName(); final String tableName = newParts.get(0).getTableName(); return requestWrapper("add_partition", new Object[]{dbName, tableName}, () -> { final PartitionSpecProxy partitionSpecProxy = PartitionSpecProxy.Factory.get(newParts); final PartitionSpecProxy.PartitionIterator partitionIterator = partitionSpecProxy.getPartitionIterator(); final List<Partition> partitions = addPartitionsCore(dbName, tableName, Lists.newArrayList(partitionIterator), false); return partitions.size(); }); }
/** * {@inheritDoc} */ @Override public TProcessor getProcessor() { return new ThriftHiveMetastore.Processor<>( new CatalogThriftHiveMetastore(config, hiveConverters, metacatV1, partitionV1, catalogName, registry) ); }
/** * {@inheritDoc} */ @Override public void alter_table_with_cascade( final String dbname, final String tblName, final Table newTbl, final boolean cascade ) throws TException { //TODO: Add logic to cascade the changes to the partitions alter_table_with_environment_context(dbname, tblName, newTbl, null); }
/** * {@inheritDoc} */ @Override public Partition append_partition_by_name(final String dbName, final String tblName, final String partName) throws TException { return append_partition_by_name_with_environment_context(dbName, tblName, partName, null); }
/** * {@inheritDoc} */ @Override public void create_table(final Table tbl) throws TException { create_table_with_environment_context(tbl, null); }