rq
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, C and Javascript, and is distributed as a dependency-free binary on many operating systems and architectures.
rq
.rq
from scratch.rq
features.rq
.OS | Intel x86 | ARM | |||
---|---|---|---|---|---|
i686 | x86_64 | v61 | v6 HF2 | v73 | |
Linux glibc 4 |
|
|
|
|
|
Linux musl 5 |
|
|
|
|
|
Mac OS X |
|
|
1 For example Raspberry Pi 1 (A and B) running Raspbian.
2 For example Raspberry Pi 1 (A and B) running Arch Linux.
3 For example Raspberry Pi 2+.
4 Requires a recent version of glibc
/libstdc++
, so use musl if possible.
5 Completely statically linked; only depends on a recent kernel version.
| Format | Read | Write | |-------------------------|------|-------| | Apache Avro | ✔️ | ✖️ | | CBOR | ✔️ | ✔️ | | HJSON | ✔️ | ✔️ | | JSON | ✔️ | ✔️ | | MessagePack | ✔️ | ✔️ | | Google Protocol Buffers | ✔️ | ✖️ | | YAML | ✔️ | ✔️ | | TOML | ✔️ | ✔️ |