@Nullable @Override public TimePartitionDetail getPartitionByTime(long time) { PartitionDetail partitionDetail = getPartition(partitionKeyForTime(time)); return partitionDetail == null ? null : new BasicTimePartitionDetail(this, partitionDetail.getRelativePath(), partitionDetail.getPartitionKey(), partitionDetail.getMetadata()); }
@Nullable @Override public TimePartitionDetail getPartitionByTime(long time) { PartitionDetail partitionDetail = getPartition(partitionKeyForTime(time)); return partitionDetail == null ? null : new BasicTimePartitionDetail(this, partitionDetail.getRelativePath(), partitionDetail.getPartitionKey(), partitionDetail.getMetadata()); }
@Override public void apply() throws Exception { PartitionOutput partitionOutput = dataset.getPartitionOutput(PARTITION_KEY); long beforeTime = System.currentTimeMillis(); partitionOutput.addPartition(); long afterTime = System.currentTimeMillis(); PartitionDetail partitionDetail = dataset.getPartition(PARTITION_KEY); Assert.assertNotNull(partitionDetail); long creationTime = partitionDetail.getMetadata().getCreationTime(); long lastModificationTime = partitionDetail.getMetadata().lastModificationTime(); // lastModificationTime time should be equal to creationTime for a partition that has not been appended to Assert.assertEquals(creationTime, lastModificationTime); Assert.assertTrue(creationTime >= beforeTime && creationTime <= afterTime); } });
combinedEntries.putAll(originalEntries); combinedEntries.putAll(updatedMetadata); Assert.assertEquals(combinedEntries, partitionDetail.getMetadata().asMap()); Assert.assertNotNull(partitionDetail); Assert.assertEquals(ImmutableMap.of("key1", "value1", "key2", "value2", "key3", "value4"), partitionDetail.getMetadata().asMap()); Assert.assertEquals(ImmutableMap.of("key1", "value1"), partitionDetail.getMetadata().asMap());
@Override public void apply() throws Exception { PartitionKey partitionKey = PartitionKey.builder() .addIntField("i", 42) .addLongField("l", 17L) .addStringField("s", "x") .build(); ImmutableMap<String, String> metadata = ImmutableMap.of("key1", "value", "key2", "value2", "key3", "value2"); PartitionOutput partitionOutput = dataset.getPartitionOutput(partitionKey); partitionOutput.setMetadata(metadata); partitionOutput.addPartition(); PartitionDetail partitionDetail = dataset.getPartition(partitionKey); Assert.assertNotNull(partitionDetail); Assert.assertEquals(metadata, partitionDetail.getMetadata().asMap()); } });