# `Arrow.Schema`

Ordered list of `Arrow.Field` plus an optional schema-level metadata map.

Arrow schemas describe the columns of a record batch (or stream of batches).

# `t`

```elixir
@type t() :: %Arrow.Schema{
  fields: [Arrow.Field.t()],
  metadata: %{optional(String.t()) =&gt; String.t()}
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
