Skip to content

Commit 21ddb82

Browse files
fix: [iceberg] additional parquet independent api for iceberg integration (#2442) (#2499)
Co-authored-by: Parth Chandra <parthc@apache.org>
1 parent 357d6c4 commit 21ddb82

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

common/src/main/java/org/apache/comet/parquet/RowGroupReader.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import org.apache.parquet.internal.filter2.columnindex.RowRanges;
3131

3232
public 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

Comments
 (0)