rq icon indicating copy to clipboard operation
rq copied to clipboard

Record Query - A tool for doing record analysis and transformation

rq Build Status Build status Crates.io Language (Rust)

NOTE: rq no longer ships with query support and a Javascript engine is not included; instead, it focuses exclusively on format transformation. You can still pipe into a runtime like node.js if you need Javascript evaluation. Please see this issue to discuss introducing a new query language.

This is the home of the tool called rq (record query). It's a tool that's used for performing queries on streams of records in various formats.

The goal is to make ad-hoc exploration of data sets easy without having to use more heavy-weight tools like SQL/MapReduce/custom programs. rq fills a similar niche as tools like awk or sed, but works with structured (record) data instead of text.

It was created with love out of the best parts of Rust, and is distributed as a dependency-free binary on many operating systems and architectures.

Quick links

  • Installation — How to install rq.
  • Tutorial — Learn rq from scratch.
  • Protobuf — Configure Protobuf specifics.
  • Development — Contribute to rq.

Format support status

Format Read Write
Apache Avro ✔️ ✔️
CBOR ✔️ ✔️
JSON ✔️ ✔️
MessagePack ✔️ ✔️
Google Protocol Buffers ✔️ ✖️
YAML ✔️ ✔️
TOML ✔️ ✔️
Raw (plain text) ✔️ ✔️
CSV ✔️ ✔️