3030import org .apache .parquet .internal .filter2 .columnindex .RowRanges ;
3131
3232public class RowGroupReader implements PageReadStore {
33- private final Map <ColumnDescriptor , PageReader > readers = new HashMap <>();
33+ private final Map <String , PageReader > readers = new HashMap <>();
3434 private final long rowCount ;
3535 private final RowRanges rowRanges ;
3636 private final long rowIndexOffset ;
@@ -54,7 +54,11 @@ public long getRowCount() {
5454
5555 @ Override
5656 public PageReader getPageReader (ColumnDescriptor path ) {
57- final PageReader pageReader = readers .get (path );
57+ return getPageReader (path .getPath ());
58+ }
59+
60+ public PageReader getPageReader (String [] path ) {
61+ final PageReader pageReader = readers .get (String .join ("." , path ));
5862 if (pageReader == null ) {
5963 throw new IllegalArgumentException (
6064 path + " is not found: " + readers .keySet () + " " + rowCount );
@@ -73,7 +77,7 @@ public Optional<Long> getRowIndexOffset() {
7377 }
7478
7579 void addColumn (ColumnDescriptor path , ColumnPageReader reader ) {
76- if (readers .put (path , reader ) != null ) {
80+ if (readers .put (String . join ( "." , path . getPath ()) , reader ) != null ) {
7781 throw new IllegalStateException (path + " was already added" );
7882 }
7983 }
0 commit comments