apache / apache/parquet-java

Drop Hadoop 2 input stream reflection from parquet-hadoop

Open
#2,688 0 comments 0 reactions 0 assignees View on GitHub
Component: Java Component: Parquet Priority: Minor Type: enhancement
Dominant language
Java
Stars
3.1k
Forks
1.6k
Avg merge
3d 12h
Merged PRs (30d)
33

Description

Parquet uses reflection to load a hadoop2 input stream, falling back to a hadoop-1 compatible client if not found.

All hadoop 2.0.2+ releases work with H2SeekableInputStream, so the binding to H2SeekableInputStream reworked to avoid needing reflection. This would make it a lot easier to probe for/use the bytebuffer input, and line the code up for more recent hadoop releases.

H1SeekableInputStream is still needed to handle streams without ByteBufferReadable.

At some poiint support for ByteBufferPositionedReadable is needed, because that is really what parquet wants. that's where reflection will be needed

**Reporter**: [Steve Loughran](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=stevel@apache.org) / @steveloughran
#### Related issues:
- [Incorrect type checking in HadoopStreams.wrap](https://github.com/apache/parquet-java/issues/2673) (is related to)

**Note**: *This issue was originally created as [PARQUET-2151](https://issues.apache.org/jira/browse/PARQUET-2151). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.