Arrow Schema
The basic JSON structure for an Arrow Schema is:
{
"fields": [<field-object>, ..],
"metadata": [<key-value-object>, ..]
}
-
The
fields
array must contain at least one field object. -
The
metadata
array can contain zero or more key-value object's.
fields
Each JSON object in the fields
array defines an Arrow column data type.
There are two general categories of an Arrow column data type:
Currently, we only support Primitive field objects. |
The general structure of the field object is:
{
"name": "someFieldName",
"nullable": <true|false>,
"type": {
"name": <field-type>,
..
}
}
All the properties in a field object are required. |
The following field object types are supported:
Consult the Arrow Schema specification for more details on each data type.
The rest of the JSON object structure is specific to each field type:
int
Property | Type | Allowed value(s) |
---|---|---|
|
String |
|
|
Number |
|
|
Boolean |
|
floatingpoint
Property | Type | Allowed value(s) |
---|---|---|
|
String |
|
|
String |
|
fixedsizebinary
Property | Type | Allowed value(s) |
---|---|---|
|
String |
|
|
Number |
(Integer, minimum: |
decimal
Property | Type | Allowed value(s) |
---|---|---|
|
String |
|
|
Number |
(Integer, minimum: |
|
Number |
(Integer, minimum: |
|
Number |
|
time
Property | Type | Allowed value(s) |
---|---|---|
|
String |
|
|
String |
|
|
Number |
|
metadata
Each key-value object represents user defined association of a key string to a value string:
{
"key": "myKey",
"value": "someValue"
}
Required properties:
-
key
-
value