public static PartitionedFileSetProperties.Builder getBaseProperties(SnapshotFileSetConfig config) { PartitionedFileSetProperties.Builder propertiesBuilder = PartitionedFileSetProperties.builder() .setPartitioning(Partitioning.builder().addLongField(SNAPSHOT_FIELD).build()); if (!Strings.isNullOrEmpty(config.getBasePath())) { propertiesBuilder.setBasePath(config.getBasePath()); } try { Map<String, String> properties = GSON.fromJson(config.getFileProperties(), MAP_TYPE); if (properties != null) { propertiesBuilder.addAll(properties); } } catch (Exception e) { throw new IllegalArgumentException("Could not decode the 'properties' setting. Please check that it " + "is a JSON Object of string to string. Failed with error: " + e.getMessage(), e); } return propertiesBuilder; }
@Override public DatasetSpecification reconfigure(String instanceName, DatasetProperties properties, DatasetSpecification currentSpec) throws IncompatibleUpdateException { // add the partition key to the properties. properties = PartitionedFileSetProperties .builder() .setPartitioning(TimePartitionedFileSetDataset.PARTITIONING) .addAll(properties.getProperties()) .build(); return super.reconfigure(instanceName, properties, currentSpec); }
@Override public DatasetSpecification configure(String instanceName, DatasetProperties properties) { // add the partition key to the properties. properties = PartitionedFileSetProperties .builder() .setPartitioning(TimePartitionedFileSetDataset.PARTITIONING) .addAll(properties.getProperties()) .build(); return super.configure(instanceName, properties); }
@Override public DatasetSpecification configure(String instanceName, DatasetProperties properties) { // add the partition key to the properties. properties = PartitionedFileSetProperties .builder() .setPartitioning(TimePartitionedFileSetDataset.PARTITIONING) .addAll(properties.getProperties()) .build(); return super.configure(instanceName, properties); }
@Override public DatasetSpecification reconfigure(String instanceName, DatasetProperties properties, DatasetSpecification currentSpec) throws IncompatibleUpdateException { // add the partition key to the properties. properties = PartitionedFileSetProperties .builder() .setPartitioning(TimePartitionedFileSetDataset.PARTITIONING) .addAll(properties.getProperties()) .build(); return super.reconfigure(instanceName, properties, currentSpec); }