This is an automated email from the ASF dual-hosted git repository.
ianmcook pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-experiments.git
The following commit(s) were added to refs/heads/main by this push:
new 91a6869 Improve Java client example (#18)
91a6869 is described below
commit 91a6869c53d6d62b463b3ff9ab90baa1036feed6
Author: Ian Cook <[email protected]>
AuthorDate: Tue Mar 12 10:57:06 2024 -0400
Improve Java client example (#18)
* Improve Java client example
* Create VectorUnloader only once
* Other minor improvements
---
.../src/main/java/com/example/ArrowHttpClient.java | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git
a/http/get_simple/java/client/src/main/java/com/example/ArrowHttpClient.java
b/http/get_simple/java/client/src/main/java/com/example/ArrowHttpClient.java
index 0e7d4f0..93b2941 100644
--- a/http/get_simple/java/client/src/main/java/com/example/ArrowHttpClient.java
+++ b/http/get_simple/java/client/src/main/java/com/example/ArrowHttpClient.java
@@ -19,6 +19,7 @@ import org.apache.arrow.memory.BufferAllocator;
import org.apache.arrow.memory.RootAllocator;
import org.apache.arrow.vector.VectorSchemaRoot;
import org.apache.arrow.vector.VectorUnloader;
+import org.apache.arrow.vector.types.pojo.Schema;
import org.apache.arrow.vector.ipc.ArrowStreamReader;
import org.apache.arrow.vector.ipc.message.ArrowRecordBatch;
@@ -46,14 +47,17 @@ public class ArrowHttpClient {
BufferAllocator allocator = new RootAllocator(Long.MAX_VALUE);
ArrowStreamReader reader = new ArrowStreamReader(inputStream,
allocator);
+ VectorSchemaRoot root = reader.getVectorSchemaRoot();
+ VectorUnloader unloader = new VectorUnloader(root);
+ ArrowRecordBatch batch;
+
+ Schema schema = root.getSchema();
List<ArrowRecordBatch> batches = new ArrayList<>();
- int num_rows = 0;
+ int numRows = 0;
while (reader.loadNextBatch()) {
- VectorSchemaRoot root = reader.getVectorSchemaRoot();
- num_rows += root.getRowCount();
- VectorUnloader unloader = new VectorUnloader(root);
- ArrowRecordBatch batch = unloader.getRecordBatch();
+ numRows += root.getRowCount();
+ batch = unloader.getRecordBatch();
batches.add(batch);
}
@@ -61,7 +65,7 @@ public class ArrowHttpClient {
float execTime = (endTime - startTime) / 1000F;
System.out.println(reader.bytesRead() + " bytes received");
- System.out.println(num_rows + " records received");
+ System.out.println(numRows + " records received");
System.out.println(batches.size() + " record batches
received");
System.out.printf("%.2f seconds elapsed\n", execTime);