Riffle 项目使用教程
riffle write-once key/value storage engine 项目地址: https://gitcode.com/gh_mirrors/rif/riffle
1. 项目介绍
Riffle 是一个只读的键值存储格式,受到 cdb 和 sorted-string table 格式的强烈影响。与 cdb 类似,Riffle 每个键的内存成本是固定的(每个键 12 字节),而不是将整个键空间保留在内存中。与 sorted-string table 类似,Riffle 允许对值进行块压缩,并允许线性时间内的文件合并。与这两种格式类似,典型的查找只需要一次磁盘读取。
Riffle 文件可以在本地或通过 Hadoop 构建,允许将包含数十亿条目的数据集编译成一组分片的 Riffle 文件。
2. 项目快速启动
2.1 安装 Riffle
首先,克隆 Riffle 仓库并安装命令行工具:
cd /tmp
git clone https://github.com/Factual/riffle.git
cd riffle
./scripts/install.sh DIRECTORY
其中 DIRECTORY
是你的工作路径中的一个目录。
2.2 构建 Riffle 文件
使用以下命令构建一个小的 Riffle 文件:
echo -e "1\t2\n3\t4\n" | riffle build > /tmp/riffle
这相当于创建了一个映射 ["1" "2", "3" "4"]
。
2.3 读取 Riffle 文件
你可以列出文件中的键并查找值:
riffle -k /tmp/riffle
riffle -g 3 /tmp/riffle
3. 应用案例和最佳实践
3.1 合并多个 Riffle 文件
你可以合并多个 Riffle 文件,右边的文件优先级更高:
echo -e "3\t5" | riffle build > /tmp/riffle2
riffle -k /tmp/riffle /tmp/riffle2
riffle -g 3 /tmp/riffle /tmp/riffle2
3.2 使用二进制数据
Riffle 存储键和值为二进制数据,但命令行工具将所有数据视为纯文本。要构建包含二进制数据的文件,可以使用 -b
标志:
echo -e "$(echo -n hello | base64)\t$(echo -n goodbye | base64)" > /tmp/binary.tsv
riffle build -b /tmp/binary.tsv > /tmp/binary-riffle
riffle -kb /tmp/binary-riffle
4. 典型生态项目
Riffle 可以与 Hadoop 结合使用,通过 Hadoop 构建 Riffle 索引:
riffle hadoop build src1 src2 ... srcN dst
riffle hadoop merge src1 src2 ... srcN dst
这些命令必须在已经配置好 Hadoop 环境的情况下运行。你可以自定义 RiffleBuildJob 的 mapper,并通过 scripts/install.sh
安装和调用自定义的 Hadoop 作业。
通过这些步骤,你可以快速上手并使用 Riffle 进行高效的键值存储和查询。
riffle write-once key/value storage engine 项目地址: https://gitcode.com/gh_mirrors/rif/riffle
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考