Link Search Menu Expand Document Documentation Menu

扩展工作负载的数据语料库

本教程将向您展示如何使用 expand-data-corpus.py 脚本来增加 OpenSearch Benchmark 工作负载的数据语料库大小。这在针对大型 OpenSearch 集群运行 http_logs 工作负载时会很有帮助。

此脚本仅适用于 http_logs 工作负载。

先决条件

要使用本教程,请确保满足以下先决条件

  1. 您已安装 Python 3.x 或更高版本。
  2. http_logs 工作负载数据语料库已存储在运行 OpenSearch Benchmark 的负载生成主机上。

了解脚本

expand-data-corpus.py 脚本旨在通过复制和修改来自 http_logs 工作负载语料库的现有文档来生成更大的数据语料库。它主要调整时间戳字段,同时保持其他字段不变。它还会生成一个偏移文件,使 OpenSearch Benchmark 能够更快地启动。

使用 expand-data-corpus.py

要使用 expand-data-corpus.py,请使用以下语法

./expand-data-corpus.py [options]

该脚本提供了多种自定义选项。以下是最常用的选项

  • --corpus-size: 以 GB 为单位的目标语料库大小
  • --output-file-suffix: 输出文件名的后缀。

示例

以下示例脚本命令生成一个 100 GB 的语料库

./expand-data-corpus.py --corpus-size 100 --output-file-suffix 100gb

脚本将开始生成文档。对于一个 100 GB 的语料库,生成完整语料库可能需要长达 30 分钟。

您可以通过使用不同的输出后缀多次运行脚本来生成多个语料库。脚本生成的所有语料库在注入期间由 OpenSearch Benchmark 顺序使用。

验证文档

脚本完成后,检查以下位置以查找新文件

  • http_logs 的 OpenSearch Benchmark 数据目录中
    • documents-100gb.json: 生成的语料库
    • documents-100gb.json.offset: 关联的偏移文件
  • http_logs 工作负载目录中
    • gen-docs-100gb.json: 生成语料库的元数据
    • gen-idx-100gb.json: 生成语料库的索引规范

在测试中使用语料库

要在 OpenSearch Benchmark 测试中使用新生成的语料库,请使用以下语法

opensearch-benchmark execute-test --workload http_logs --workload-params=generated_corpus:t [other_options]

generated_corpus:t 参数指示 OpenSearch Benchmark 使用扩展的语料库。任何额外的工作负载参数都可以使用 --workload-params 选项中的逗号进行追加。

专家级设置

使用 --help 查看脚本支持的所有选项。使用以下专家级设置时请务必小心,因为它们可能会影响语料库结构

  • -f: 指定用作生成新文档基础的输入文件
  • -n: 设置要生成的文档数量,而不是语料库大小
  • -i: 定义连续时间戳之间的时间间隔
  • -t: 设置生成文档的起始时间戳
  • -b: 定义写入偏移文件时每批的文档数量
剩余 350 字符

有问题?

想要贡献?