@Override
    public List<Column> getPartitionColumns() {
        List<Column> partitionColumns = new ArrayList<>();
        if (!partColNames.isEmpty()) {
            partitionColumns = partColNames.stream().map(this::getColumn)
                    .collect(Collectors.toList());
        }
        return partitionColumns;
    }
@Test
    public void testPartitionKeys() {
        List<ColumnSchema> columns = Arrays.asList(
                genColumnSchema("a", org.apache.kudu.Type.INT32),
                genColumnSchema("b", org.apache.kudu.Type.STRING),
                genColumnSchema("c", org.apache.kudu.Type.DATE)
        );
        List<Column> fullSchema = new ArrayList<>(columns.size());
        List<String> partColNames = Arrays.asList("a", "b");
        ArrayList<Column> partitionSchema = new ArrayList<>();
        for (ColumnSchema column : columns) {
            Type fieldType = ColumnTypeConverter.fromKuduType(column);
            Column convertedColumn = new Column(column.getName(), fieldType, true);
            fullSchema.add(convertedColumn);
            if (partColNames.contains(column.getName())) {
                partitionSchema.add(convertedColumn);
            }
        }
        String catalogName = "testCatalog";
        String dbName = "testDB";
        String tableName = "testTable";
        String kuduTableName = "impala::testDB.testTable";
        KuduTable kuduTable = new KuduTable("localhost:7051", catalogName, dbName, tableName,
                kuduTableName, fullSchema, partColNames);
        List<Column> partitionColumns = kuduTable.getPartitionColumns();
        Assertions.assertThat(partitionColumns).hasSameElementsAs(partitionSchema);
    }