-
Notifications
You must be signed in to change notification settings - Fork 2.5k
[HUDI-7218] Integrate new HFile reader with file reader factory #10330
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[HUDI-7218] Integrate new HFile reader with file reader factory #10330
Conversation
57dc2f4 to
67b0d70
Compare
|
This PR is still WIP. Sending the PR to Azure CI to run tests. |
|
@hudi-bot run azure |
67b0d70 to
7591e10
Compare
|
@hudi-bot run azure |
6622e92 to
f18e571
Compare
3bc5c38 to
be59e31
Compare
421f1cc to
9c93ac1
Compare
0f13cf9 to
4173eda
Compare
7462f45 to
3dfa478
Compare
3dfa478 to
30f633f
Compare
vinothchandar
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Took a skim. No major red flags. Land and proceed if this is blocking you
hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieIndexUtils.java
Outdated
Show resolved
Hide resolved
nsivabalan
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
half way through my review
hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieIndexUtils.java
Outdated
Show resolved
Hide resolved
hudi-common/src/main/java/org/apache/hudi/common/bloom/HoodieDynamicBoundedBloomFilter.java
Outdated
Show resolved
Hide resolved
hudi-common/src/main/java/org/apache/hudi/common/bloom/SimpleBloomFilter.java
Outdated
Show resolved
Hide resolved
hudi-common/src/main/java/org/apache/hudi/common/config/HoodieReaderConfig.java
Outdated
Show resolved
Hide resolved
hudi-common/src/main/java/org/apache/hudi/common/table/TableSchemaResolver.java
Outdated
Show resolved
Hide resolved
hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieHFileDataBlock.java
Outdated
Show resolved
Hide resolved
hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieHFileDataBlock.java
Outdated
Show resolved
Hide resolved
hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieAvroHBaseHFileReader.java
Outdated
Show resolved
Hide resolved
hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieAvroHFileReader.java
Show resolved
Hide resolved
hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieFileReaderFactory.java
Outdated
Show resolved
Hide resolved
hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieAvroHFileReader.java
Outdated
Show resolved
Hide resolved
hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeRecordReaderUtils.java
Outdated
Show resolved
Hide resolved
30f633f to
e0625ec
Compare
e0625ec to
49e5fa7
Compare
Change Logs
This PR integrates the new native HFile reader with file reader factory.
Major changes are:
HoodieAvroHFileReadertoBaseHoodieAvroHFileReader(abstract class).HoodieAvroHFileReadernow contains the new implementation based on the Hudi-native HFile reader.HoodieAvroHBaseHFileReader(code moved from previousHoodieAvroHFileReaderclass) is the implementation based on the HBase HFile reader.BootstrapIndex.IndexReaderinHFileBootstrapIndexusing the Hudi-native HFile reader.hoodie.hfile.use.built.in.reader(HoodieReaderConfig. USE_BUILT_IN_HFILE_READER) to control whether the built-in HFile reader is used to read HFiles. By default, it's set totrue.HoodieFileReaderFactoryand subclasses are refactored to allow instantiating the Avro HFile reader through either native-based or HBase-based HFile reader, by checking the Hudi config.com.google.protobuf:protobuf-javaand the corresponding shading rule.HoodieFileReaderFactoryto get the reader for reading HFile, instead of directly instantiatingHoodieAvroHFileReader.HoodieAvroHFileReaderwith the Hudi-native HFile reader.BaseHoodieAvroHFileReader)TestInLineFileSystemHFileInLiningtests are refactored to run on both native-based and HBase-based HFile readers.TestHoodieHFileReaderWritertests are refactored to run on both native-based and HBase-based HFile readers.Impact
Uses new HFile reader.
Risk level
medium
Documentation Update
N/A
Contributor's checklist