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);
 

Reply via email to