@Override
    public List<Column> getPartitionColumns() {
        List<Column> partitionColumns = new ArrayList<>();
        if (!partColumnNames.isEmpty()) {
            partitionColumns = partColumnNames.stream().map(this::getColumn)
                    .collect(Collectors.toList());
        }
        return partitionColumns;
    }
@Test
    public void testPartitionKeys(@Mocked FileStoreTable paimonNativeTable) {
        RowType rowType =
                RowType.builder().field("a", DataTypes.INT()).field("b", DataTypes.INT()).field("c", DataTypes.INT())
                        .build();
        List<DataField> fields = rowType.getFields();
        List<Column> fullSchema = new ArrayList<>(fields.size());
        ArrayList<String> partitions = Lists.newArrayList("b", "c");

        ArrayList<Column> partitionSchema = new ArrayList<>();
        for (DataField field : fields) {
            String fieldName = field.name();
            DataType type = field.type();
            Type fieldType = ColumnTypeConverter.fromPaimonType(type);
            Column column = new Column(fieldName, fieldType, true);
            fullSchema.add(column);
            if (partitions.contains(fieldName)) {
                partitionSchema.add(column);
            }
        }
        new Expectations() {
            {
                paimonNativeTable.rowType();
                result = rowType;
                paimonNativeTable.partitionKeys();
                result = partitions;
            }
        };
        PaimonTable paimonTable = new PaimonTable("testCatalog", "testDB", "testTable", fullSchema,
                paimonNativeTable, 100L);
        List<Column> partitionColumns = paimonTable.getPartitionColumns();
        Assertions.assertThat(partitionColumns).hasSameElementsAs(partitionSchema);
    }