Esrally目录创建
创建tracks目录
- 创建tracks目录。
1 2
cd /root/.rally/ mkdir -p benchmarks/tracks/default/
- 下载tracks并将下载好的目录放入到“benchmarks/tracks/default/”目录下。
1
cp -a rally-tracks/geonames benchmarks/tracks/default/
- 进入“benchmarks/tracks/default/”目录。
1
cd benchmarks/tracks/default/
- 创建Git仓库。
1 2 3
git init git config --global user.email git config --global user.name
- 将数据Git到本地库。
此步骤在修改完配置之后执行,每次重新修改配置都需要执行此步骤。
git add geonames/* git commit -a -m "add geonames"
创建teams目录
- 创建目录。
1
mkdir -p /root/.rally/benchmarks/teams/default/
- 下载teams并将下载好的目录放入到“rally-teams/cars benchmarks/teams/default/”目录下。
1
cp -a rally-teams/cars benchmarks/teams/default/
- 进入“rally-teams/cars benchmarks/teams/default/”目录。
1
cd benchmarks/teams/default/
- 创建Git仓库。
1
git init
- 将数据Git到本地库。
此步骤在修改完配置之后执行,每次重新修改配置都需要执行此步骤。
1
git add cars
创建data目录
- 创建目录。
1
mkdir -p benchmarks/data/geonames
- 下载数据样本。
1
wget http://download.geonames.org/export/dump/allCountries.zip
- 解压allCountries.zip。
1
unzip allCountries.zip -d benchmarks/data/geonames
- 创建格式转换脚本。
- 新建脚本文件。
1
vi toJSON.py
- 按“i”进入编辑模式,脚本内容如下。
import json cols = (("geonameid", "int", True), ("name", "string", True), ("asciiname", "string", False), ("alternatenames", "string", False), ("latitude", "double", True), ("longitude", "double", True), ("feature_class", "string", False), ("feature_code", "string", False), ("country_code", "string", True), ("cc2", "string", False), ("admin1_code", "string", False), ("admin2_code", "string", False), ("admin3_code", "string", False), ("admin4_code", "string", False), ("population", "long", True), ("elevation", "int", False), ("dem", "string", False), ("timezone", "string", False)) def main(): with open("allCountries.txt", "rt", encoding="UTF-8") as f: for line in f: tup = line.strip().split("\t") record = {} for i in range(len(cols)): name, type, include = cols[i] if tup[i] != "" and include: if type in ("int", "long"): record[name] = int(tup[i]) elif type == "double": record[name] = float(tup[i]) elif type == "string": record[name] = tup[i] print(json.dumps(record, ensure_ascii=False)) if __name__ == "__main__": main()
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 新建脚本文件。
- 赋予脚本执行权限。
1
chmod +x toJSON.py
- 进入“benchmarks/data/geonames/”目录下执行转换。
1 2
cd benchmarks/data/geonames/ python3 /root/.rally/benchmarks/teams/default/toJSON.py > documents.json