[
https://issues.apache.org/jira/browse/PARQUET-2117?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17492977#comment-17492977
]
ASF GitHub Bot commented on PARQUET-2117:
-----------------------------------------
prakharjain09 commented on a change in pull request #945:
URL: https://github.com/apache/parquet-mr/pull/945#discussion_r807496556
##########
File path:
parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ColumnChunkPageReadStore.java
##########
@@ -248,15 +248,18 @@ public DictionaryPage readDictionaryPage() {
private final Map<ColumnDescriptor, ColumnChunkPageReader> readers = new
HashMap<ColumnDescriptor, ColumnChunkPageReader>();
private final long rowCount;
+ private final long rowIndexOffset;
private final RowRanges rowRanges;
- public ColumnChunkPageReadStore(long rowCount) {
+ public ColumnChunkPageReadStore(long rowCount, long rowIndexOffset) {
Review comment:
Makes sense - retaining the older constructor.
##########
File path:
parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ColumnChunkPageReadStore.java
##########
@@ -265,6 +268,11 @@ public long getRowCount() {
return rowCount;
}
+ @Override
+ public Optional<Long> getRowIndexOffset() {
+ return Optional.of(rowIndexOffset);
Review comment:
done.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
> Add rowPosition API in parquet record readers
> ---------------------------------------------
>
> Key: PARQUET-2117
> URL: https://issues.apache.org/jira/browse/PARQUET-2117
> Project: Parquet
> Issue Type: New Feature
> Components: parquet-mr
> Reporter: Prakhar Jain
> Priority: Major
> Fix For: 1.13.0
>
>
> Currently the parquet-mr RecordReader/ParquetFileReader exposes API’s to read
> parquet file in columnar fashion or record-by-record.
> It will be great to extend them to also support rowPosition API which can
> tell the position of the current record in the parquet file.
> The rowPosition can be used as a unique row identifier to mark a row. This
> can be useful to create an index (e.g. B+ tree) over a parquet file/parquet
> table (e.g. Spark/Hive).
> There are multiple projects in the parquet eco-system which can benefit from
> such a functionality:
> # Apache Iceberg needs this functionality. It has this implementation
> already as it relies on low level parquet APIs -
> [Link1|https://github.com/apache/iceberg/blob/apache-iceberg-0.12.1/parquet/src/main/java/org/apache/iceberg/parquet/ReadConf.java#L171],
>
> [Link2|https://github.com/apache/iceberg/blob/d4052a73f14b63e1f519aaa722971dc74f8c9796/core/src/main/java/org/apache/iceberg/MetadataColumns.java#L37]
> # Apache Spark can use this functionality - SPARK-37980
--
This message was sent by Atlassian Jira
(v8.20.1#820001)