This is an automated email from the ASF dual-hosted git repository.
kxiao pushed a commit to branch branch-2.0-beta
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0-beta by this push:
new eb72e30f22 [Improvement](multi-catalog) paimon supports projection
push down (#20522)
eb72e30f22 is described below
commit eb72e30f22f4111dd2a66647aaf8e5f21b5960e6
Author: yuxuan-luo <[email protected]>
AuthorDate: Wed Jun 7 00:39:08 2023 +0800
[Improvement](multi-catalog) paimon supports projection push down (#20522)
Co-authored-by: hugoluo <[email protected]>
---
.../src/main/java/org/apache/doris/jni/PaimonJniScanner.java | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git
a/fe/java-udf/src/main/java/org/apache/doris/jni/PaimonJniScanner.java
b/fe/java-udf/src/main/java/org/apache/doris/jni/PaimonJniScanner.java
index 03c8b6564e..18d8d1dc4b 100644
--- a/fe/java-udf/src/main/java/org/apache/doris/jni/PaimonJniScanner.java
+++ b/fe/java-udf/src/main/java/org/apache/doris/jni/PaimonJniScanner.java
@@ -46,6 +46,7 @@ import org.apache.paimon.table.source.TableRead;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
+import java.util.Arrays;
import java.util.Map;
@@ -104,7 +105,8 @@ public class PaimonJniScanner extends JniScanner {
} catch (IOException e) {
e.printStackTrace();
}
- ReadBuilder readBuilder = table.newReadBuilder();
+ ReadBuilder readBuilder = table.newReadBuilder()
+
.withProjection(Arrays.stream(ids).mapToInt(Integer::parseInt).toArray());
TableRead read = readBuilder.newRead();
reader = read.createReader(paimonInputSplit.split());
}
@@ -118,13 +120,13 @@ public class PaimonJniScanner extends JniScanner {
protected int getNext() throws IOException {
int rows = 0;
try {
- RecordReader.RecordIterator batch;
+ RecordReader.RecordIterator<InternalRow> batch;
while ((batch = reader.readBatch()) != null) {
Object record;
while ((record = batch.next()) != null) {
columnValue.setOffsetRow((ColumnarRow) record);
for (int i = 0; i < ids.length; i++) {
- columnValue.setIdx(Integer.parseInt(ids[i]));
+ columnValue.setIdx(i);
appendData(i, columnValue);
}
rows++;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]