Class ArrowArray

java.lang.Object
org.apache.arrow.c.ArrowArray
All Implemented Interfaces:
AutoCloseable, BaseStruct

public class ArrowArray extends Object implements BaseStruct
C Data Interface ArrowArray.

Represents a wrapper for the following C structure:

 struct ArrowArray {
     // Array data description
     int64_t length;
     int64_t null_count;
     int64_t offset;
     int64_t n_buffers;
     int64_t n_children;
     const void** buffers;
     struct ArrowArray** children;
     struct ArrowArray* dictionary;

     // Release callback
     void (*release)(struct ArrowArray*);
     // Opaque producer-specific data
     void* private_data;
 };
 
  • Method Details

    • wrap

      public static ArrowArray wrap(long memoryAddress)
      Create ArrowArray from an existing memory address.

      The resulting ArrowArray does not own the memory.

      Parameters:
      memoryAddress - Memory address to wrap
      Returns:
      A new ArrowArray instance
    • allocateNew

      public static ArrowArray allocateNew(BufferAllocator allocator)
      Create ArrowArray by allocating memory.

      The resulting ArrowArray owns the memory.

      Parameters:
      allocator - Allocator for memory allocations
      Returns:
      A new ArrowArray instance
    • markReleased

      public void markReleased()
      Mark the array as released.
    • memoryAddress

      public long memoryAddress()
      Description copied from interface: BaseStruct
      Get memory address.
      Specified by:
      memoryAddress in interface BaseStruct
      Returns:
      Memory address
    • release

      public void release()
      Description copied from interface: BaseStruct
      Call the release callback of an ArrowArray.

      This function must not be called for child arrays.

      Specified by:
      release in interface BaseStruct
    • close

      public void close()
      Description copied from interface: BaseStruct
      Close to release the main buffer.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface BaseStruct
    • snapshot

      public ArrowArray.Snapshot snapshot()
      Take a snapshot of the ArrowArray raw values.
      Returns:
      snapshot
    • save

      public void save(ArrowArray.Snapshot snapshot)
      Write values from Snapshot to the underlying ArrowArray memory buffer.