forked from apache/amoro
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[AMORO-2266] Improve combined data reader performance (apache#2268)
* [AMORO-2266] Improve combined data reader performance Signed-off-by: Qishang Zhong <zhongqishang@gmail.com> * Add doc * Fix spotless apply * [AMORO-2266] Use guava bloom filter Signed-off-by: Qishang Zhong <zhongqishang@gmail.com> * [AMORO-2266] Use guava bloom filter Signed-off-by: Qishang Zhong <zhongqishang@gmail.com> * Fix structLike serialize * Fix `rewrittenDataRecordCnt` to constructor * Add test case for various types * Fix test name and add assert * Fix comment * Move readIdentifierData() to CombinedDeleteFilter * Remove StructLikeWrapper * Fix comment * Fix comment and add test * Add units test * fix log Signed-off-by: Qishang Zhong <zhongqishang@gmail.com> * Fix filterEqDelete trigger logic * Add parameter FILTER_EQ_DELETE_TRIGGER_RECORD_COUNT * Fix test --------- Signed-off-by: Qishang Zhong <zhongqishang@gmail.com>
- Loading branch information
1 parent
32a453b
commit 3accd93
Showing
9 changed files
with
240 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
25 changes: 25 additions & 0 deletions
25
core/src/main/java/com/netease/arctic/io/reader/StructLikeFunnel.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
package com.netease.arctic.io.reader; | ||
|
||
import com.netease.arctic.utils.SerializationUtil; | ||
import org.apache.iceberg.StructLike; | ||
import org.apache.paimon.shade.guava30.com.google.common.hash.Funnel; | ||
import org.apache.paimon.shade.guava30.com.google.common.hash.PrimitiveSink; | ||
import org.jetbrains.annotations.NotNull; | ||
|
||
import java.io.IOException; | ||
|
||
public enum StructLikeFunnel implements Funnel<StructLike> { | ||
INSTANCE; | ||
|
||
StructLikeFunnel() {} | ||
|
||
@Override | ||
public void funnel(@NotNull StructLike structLike, PrimitiveSink primitiveSink) { | ||
StructLike copy = SerializationUtil.StructLikeCopy.copy(structLike); | ||
try { | ||
primitiveSink.putBytes(SerializationUtil.kryoSerialize(copy)); | ||
} catch (IOException e) { | ||
throw new RuntimeException(e); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.