delta-arrow-reader 0.7.0

Read-only Delta Lake to Apache Arrow reader
Documentation
# Read a table from the command line

Use the CLI to see a Delta table's columns or save some of its rows to a file.
This quickstart starts with a local table and reads at most ten rows.

## Before you start

[Install the CLI](installation.md#cli-binaries-and-container-images) and have a
Delta table available. Replace `/path/to/table` below with the table's directory,
which contains `_delta_log`, rather than a single Parquet file. Run the shell
examples in Bash.

The examples use the standalone command, `dar`. If you installed the
[Python package](installation.md#python), use `delta-arrow-reader` in its place.
Both commands accept the same arguments.

## See the table's columns

```sh
dar inspect /path/to/table
```

The command prints JSON with the table's version in `table_version` and its
columns in `schema.fields`. It reads the table's metadata without reading its
rows. Use the column names from this output when selecting columns later.

## Save a small result

```sh
dar scan --limit 10 /path/to/table > sample.arrow
```

This saves up to ten rows, with all columns, to `sample.arrow`. The limit keeps
your first result small. Row order is not guaranteed.

The file contains an **Arrow IPC stream**, a binary format that Arrow libraries
can read. It is not CSV or text, so `scan` requires output to a file or pipe
instead of printing rows in the terminal.

Only use the file if the command succeeds. If it reports an error, discard the
file: a failed scan can leave an incomplete result.

## Read the saved result

Open the file with an Arrow IPC stream reader in your application. For example,
if you have Python and PyArrow installed:

```python
import pyarrow.ipc as ipc

with ipc.open_stream("sample.arrow") as reader:
    print(reader.read_all().to_pydict())
```

This prints the saved rows as a dictionary of columns. Collecting the result
in memory is convenient for this small sample. For larger results, process
one batch at a time.

## Choose columns

Once the first scan works, repeat `--column` to select the columns you need:

```sh
dar scan --column id --column region --limit 10 /path/to/table > selected.arrow
```

Replace `id` and `region` with names from your table. The output contains those
columns in the order you requested. Omit `--limit` when you are ready to read all
rows.

## Where to go next

- [Filter rows]cli.md#filter-rows when you only need rows matching a condition.
- [Read a table from storage such as S3]cli.md#inspect-a-snapshot, with
  [storage options]cli.md#storage-options-file when your environment needs them.
- [Use a container or call the CLI from Go]cli.md#use-a-container-or-a-go-service
  when adding the reader to a service.
- Look up flags, output formats, and exit statuses in the [CLI reference]cli.md.

For help in the terminal, run `dar inspect --help` or `dar scan --help`.