Feature Support

The goal is that the python library will provide a functional, performant subset of the java library. The initial focus has been on reading table metadata as well as providing the capability to both plan and execute a scan.

Feature Comparison

Metadata

Operation Java Python
Get Schema X X
Get Snapshots X X
Plan Scan X X
Plan Scan for Snapshot X X
Update Current Snapshot X
Set Table Properties X
Create Table X
Drop Table X
Alter Table X

Read Support

Pyarrow is used for reading parquet files, so read support is limited to what is currently supported in the pyarrow.parquet package.

There is a gap in the current implementation that nested fields are only supported if they are:

all repeated all repeated (lists) or all groups (structs) vs. a mix (structs and lists/repeated fields) then we can read and write them(otherwise we cannot)

Primitive Types

Data Type Java Python
BooleanType X X
DateType X X
DecimalType X X
FloatType X X
IntegerType X X
LongType X X
TimeType X X
TimestampType X X

Nested Types

Data Type Java Python
ListType of primitives X X
MapType of primitives X X
StructType of primitives X X
ListType of Nested Types X
MapType of Nested Types X

Write Support

The python client does not currently support write capability