@Test
@SuppressWarnings("deprecation")
public void testWriteToSubpartition() throws IOException {
PartitionStrategy partitionStrategy = new PartitionStrategy.Builder()
.hash("username", "username_part", 2).hash("email", 3).build();
FileSystemDataset<Record> ds = new FileSystemDataset.Builder<Record>()
.namespace("ns")
.name("partitioned-users")
.configuration(getConfiguration())
.descriptor(new DatasetDescriptor.Builder()
.schema(USER_SCHEMA)
.format(format)
.compressionType(compressionType)
.location(testDirectory)
.partitionStrategy(partitionStrategy)
.build())
.type(Record.class)
.build();
PartitionKey key = new PartitionKey(1);
FileSystemDataset<Record> userPartition = (FileSystemDataset<Record>) ds.getPartition(key, true);
Assert.assertEquals(key, userPartition.getPartitionKey());
writeTestUsers(userPartition, 1);
Assert.assertTrue("Partitioned directory exists",
fileSystem.exists(new Path(testDirectory, "username_part=1/email_hash=2")));
Assert.assertEquals(1, readTestUsersInPartition(ds, key, "email_hash"));
}