Docs
Using Parqlab
Everything the app does, in ten minutes of reading. Press ⌘K inside Parqlab to find any action instantly.
Getting started
- Download Parqlab for macOS (Apple Silicon or Intel), Windows or Linux and install it.
- Open a file: click Open Parquet File, press ⌘O, or simply drag & drop a
.parquetfile anywhere on the window. - That's it — the file opens instantly whatever its size, because Parqlab only reads the metadata and the rows you actually look at.
Recently opened files live in the left sidebar with search, pinned favorites (star) and tags. The left icon rail switches between the main areas: Files, Cloud, SQL, Notebooks, Dashboards, Logs.
Exploring data
The Data tab shows a virtualized grid that loads rows as you scroll — 500 at a time by default (configurable in Settings). Row counts always cover the whole file, read from Parquet metadata.
- Sort — click a column header (asc → desc → off). Shift-click more headers for multi-column sort; small badges show the sort order.
- Filter — the Filter button (or ⇧⌘F) opens the filter builder with 11 operators: equals, not equals, contains, starts/ends with, greater/less than, between, is null, is not null, in list. Active filters appear as removable chips.
- Search — ⌘F focuses the global search; it matches every column, case-insensitively.
- Columns — show/hide from the Columns menu, resize by dragging header edges, double-click an edge to reset.
The timing chip in the toolbar opens the Performance panel: open/scan times, rows scanned, CPU, memory, cache size.
Schema, statistics & charts
- Schema tab — every column with its Arrow type, nullability and a type icon.
- Stats tab — pick a column to get null count, distinct count, min/max, and for numeric columns sum, average, median, mode, top-20 values and a distribution histogram. Values marked approximate or sampled hit the memory-safety caps (100k distinct values / 2M buffered numbers).
- Charts tab — histogram, bar, pie, line and scatter. Histogram/bar/pie use full-file aggregations computed in Rust; line/scatter draw a sample of the first 5,000 matching rows.
SQL with DuckDB
The SQL page embeds DuckDB. The currently open file is automatically attached as the table data; add more files with + Attach file (each gets an alias like t1, t2).
SELECT city, count(*) AS orders, sum(amount) AS revenue
FROM data
WHERE is_active
GROUP BY city
ORDER BY revenue DESC;- Run with ⌘⏎ or the Run button.
- JOINs, GROUP BY, window functions — anything DuckDB supports, across multiple attached files.
- Saved queries (with favorites) and a history of your last runs live in the left panel.
- Results display up to 10,000 rows; for full outputs use the streaming Export instead.
Cloud data lakes
The Cloud page connects to Amazon S3, Cloudflare R2, MinIO, Google Cloud Storage and Azure Blob. Add as many connections as you need (e.g. AWS Production, AWS Staging, MinIO local).
| Provider | Authentication options |
|---|---|
| Amazon S3 | Access key + optional session token · AWS profile (~/.aws) · environment/IAM · custom endpoint & region |
| Cloudflare R2 | Account ID + access key (endpoint derived automatically) |
| MinIO | Endpoint + access key, SSL on/off |
| Google Cloud Storage | Service-account JSON + bucket |
| Azure Blob | Connection string, or account + SAS token / access key |
- Browse buckets with format icons; folders detected as Delta or Iceberg tables are badged.
- Search a whole bucket instantly from the search box (scoped to the current folder).
- Open a remote Parquet — Parqlab downloads only the file footer and the row groups you view (HTTP range requests). A 50 GB file previews in seconds. Filters, sort and stats need a local copy: click Cache locally in the banner and the file reopens automatically with everything unlocked.
- File operations — create folders, rename, copy, move, delete (recursive with guardrails), copy a presigned URL.
- Transfers— uploads (drag files onto the bucket view) and downloads run in a queue with progress, speed, ETA, pause/resume/cancel. Open the panel from the rail's transfer icon.
- Cache — downloaded files are reused across sessions (LRU, size limit configurable in Settings, one-click clear).
Notebooks & dashboards
- Notebooks mix three block types: SQL (run in place with ⌘⏎), Markdown (rendered when you click away) and Charts fed by a SQL block's result. Blocks reorder with ↑↓ and everything autosaves.
- Dashboards are grids of widgets — KPI, table, bar, line, pie, histogram — each driven by its own SQL. Use Test run in the widget editor to discover columns, then map X/Y/value. Refresh all re-runs every widget.
- Both live inside the current workspace and are stored locally.
File tools
In the Files sidebar, the Tools section opens four utilities. They all stream (no size limit in practice) and never modify your original files.
| Tool | What it does |
|---|---|
| Compare | Diff two files: added / removed columns, type & nullability changes, row-count delta. |
| Merge | Combine N files — append (identical schemas), union (all columns, nulls filled), or intersection (common columns only) — into a new Parquet file. |
| Split | Cut a big file by row count, by max size (MB), or by the values of a column (one file per value). |
| Schema editor | Rename columns, cast types (string/int/float/bool/date/timestamp), drop and reorder — then save as a new file. |
Exporting
The Export menu (or ⌘E) writes CSV, JSON, Excel (.xlsx) or Parquet. Exports honor your current view: active filters, search, sort order and visible columns — and they stream straight from the source file, so exporting millions of rows doesn't blow up memory.
- Excel exports stop at the sheet limit (1,048,576 rows) — use CSV or Parquet beyond that.
- Sorted exports are bounded to 100,000 rows; remove the sort to export everything in file order.
- Exports require a license (trial shows the unlock prompt).
Workspaces, sessions & logs
- Workspaces (switcher at the top of the sidebar) scope your cloud connections, saved queries, notebooks and dashboards — e.g. Finance, Marketing, Logs. Export/import a workspace as JSON; secrets are never exported.
- Crash recovery — Parqlab continuously snapshots the open file, filters, sort, search, active tab and scroll position. Reopen the app and you are exactly where you left off (toggle in Settings).
- Logs page — every cloud operation (connect, download, upload, delete, SQL run…) with status and duration, filterable, auto-refresh.
Keyboard shortcuts
| Shortcut | Action |
|---|---|
| ⌘K | Command palette — every action, searchable |
| ⌘O | Open a Parquet file |
| ⌘F | Focus the global search |
| ⇧⌘F | Add a filter |
| ⌘E | Export (CSV) |
| ⌘1 – ⌘4 | Data / Schema / Stats / Charts tabs |
| ⌘, | Settings |
| ⌘⏎ | Run SQL (editor & notebook blocks) |
On Windows and Linux, replace ⌘ with Ctrl.
License & activation
- One license = 1 user, up to 3 devices, lifetime, V1.x updates included.
- Activate in Settings → License; move machines anytime with Deactivate this device.
- Works offline for 14 days between background revalidations.
- After purchase, your key arrives by email (subject “Your Parqlab License Key”) and looks like
PARQLAB-XXXX-XXXX-XXXX-XXXX. Keys only use unambiguous characters — no O/0 or I/1. - In Parqlab, press ⌘, to open Settings — the License section sits at the top. Paste the key and click Activate.
- The app registers this device using a hashed fingerprint only (no personal data) and unlocks instantly.
Troubleshooting
| Symptom | Fix |
|---|---|
| “Not a valid Parquet file” | The file is corrupted or not Parquet. Try re-generating it; CSV/JSON files open through SQL (read_csv) rather than the viewer. |
| “Sorted browsing is limited to the first 100,000 rows” | By design, to keep memory flat. Add filters to narrow the data, or clear the sort to keep scrolling. |
| Filters greyed out on a cloud file | Remote previews are paginated only. Click “Cache locally” in the banner — the file reopens with filters, sort, search and stats. |
| “This license is already active on 3 devices” | Deactivate an old machine (Settings → License) or write to support to reset your activations. |
| License shows “Expired” while offline | More than 14 days without reaching the license server. Reconnect once and click Revalidate. |
| Excel export fails on a huge result | Excel caps sheets at 1,048,576 rows — export to CSV or Parquet instead. |
Still stuck? Write to support@parqlab.app — a human answers.
Ready to go beyond the trial?
Unlimited rows, exports and tools — one payment, forever.