THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||||
---|---|---|---|---|
| ||||
/** * Describes a table to connect. It is a same representation of SQL CREATE TABLE DDL. It wraps the needed meta information about a catalog table. * Please use a specific {@link TableDescriptorBuilder} to build the {@link TableDescriptor}. */ @PublicEvolving public interface TableDescriptor { List<String> getPartitionedFields(); Schema getSchema(); Map<String, String> getOptions(); LikeOption[] getLikeOptions(); String getLikePath(); } /** * A basic builder implementation to build a {@link TableDescriptor}. */ @PublicEvolving public abstract class TableDescriptorBuilder<BUILDER extends TableDescriptorBuilder<BUILDER>> { private final InternalTableDescriptor descriptor = new InternalTableDescriptor(); /** * Returns the this builder instance in the type of subclass. */ protected abstract BUILDER self(); /** * Specifies the table schema. */ public BUILDER schema(Schema schema) { descriptor.schema = schema; return self(); } /** * Specifies the partition keys of this table. */ public BUILDER partitionedBy(String... fieldNames) { checkArgument(descriptor.partitionedFields.isEmpty(), "partitionedBy(...) shouldn't be called more than once."); descriptor.partitionedFields.addAll(Arrays.asList(fieldNames)); return self(); } /** * Extends some parts from the original registered table path. */ public BUILDER like(String tablePath, LikeOption... likeOptions) { descriptor.likePath = tablePath; descriptor.likeOptions = likeOptions; return self(); } protected BUILDER option(String key, String value) { descriptor.options.put(key, value); return self(); } /** * Returns created table descriptor. */ public DESCRIPTORTableDescriptor build() { return descriptor; } } |
...