public static List<String> ParquetByteArray2CsvStr(byte[] parquetBytes) throws IOException {
        InputFile inputFile = new ParquetInputByteArray(parquetBytes);
        List<String> strRows = new ArrayList<>();
        try (ParquetFileReader reader = ParquetFileReader.open(inputFile)) {
            ParquetMetadata footer = reader.getFooter();
            MessageType schema = footer.getFileMetaData().getSchema();
            int fieldSize = schema.getFields().size();
            PageReadStore pages;

            while ((pages = reader.readNextRowGroup()) != null) {
                long rows = pages.getRowCount();

                ColumnIOFactory factory = new ColumnIOFactory();
                MessageColumnIO columnIO = factory.getColumnIO(schema);

                RecordMaterializer<Group> recordMaterializer = new GroupRecordConverter(schema);

                RecordReader<Group> recordReader = columnIO.getRecordReader(pages, recordMaterializer);

                for (int i = 0; i < rows; i++) {
                    Group group = recordReader.read();
                    if (group != null) {
                        StringBuilder builder = new StringBuilder();
                        for (int j = 0; j < fieldSize; j++) {
                            builder.append(group.getValueToString(j, 0) + "|");
                        }
                        strRows.add(builder.substring(0, builder.length() - 1));
                    }
                }
            }
        }
        return strRows;
    }
AbstractProcessorTestBase
description: define static parameters for Processor tests
inlong-sdk/transform-sdk/src/test/java/org/apache/inlong/sdk/transform/process/processor/AbstractProcessorTestBase.java