java.lang.Object
org.apache.arrow.c.ArrowArray
- All Implemented Interfaces:
AutoCloseable
,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; };
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Snapshot of the ArrowArray raw data. -
Method Summary
Modifier and TypeMethodDescriptionstatic ArrowArray
allocateNew
(BufferAllocator allocator) Create ArrowArray by allocating memory.void
close()
Close to release the main buffer.void
Mark the array as released.long
Get memory address.void
release()
Call the release callback of an ArrowArray.void
save
(ArrowArray.Snapshot snapshot) Write values from Snapshot to the underlying ArrowArray memory buffer.snapshot()
Take a snapshot of the ArrowArray raw values.static ArrowArray
wrap
(long memoryAddress) Create ArrowArray from an existing memory address.
-
Method Details
-
wrap
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
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 interfaceBaseStruct
- 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 interfaceBaseStruct
-
close
public void close()Description copied from interface:BaseStruct
Close to release the main buffer.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceBaseStruct
-
snapshot
Take a snapshot of the ArrowArray raw values.- Returns:
- snapshot
-
save
Write values from Snapshot to the underlying ArrowArray memory buffer.
-