Mozilla Bugzilla Bug版本ETL
Bugzilla-ETL的Python项目详细描述
metric的bugzilla etl的python版本 (https://github.com/mozilla-metrics/bugzilla_etl)
要求
- pypy 2.1.0使用python2.7(cpython太慢了)
- 一个mysql/maria数据库,带有mozilla的bugzilla模式(old public version can be found here)
- 时区数据库 (instructions)
- 一个ElasticSearch(v 0.20.5)集群来保存Bug版本的文档
安装
需要pypy和setuptools。如果要在Windows上安装 请follow instructions to get these installed。 完成后,安装很容易:
pip install Bugzilla-ETL
设置
必须准备一个settings.json文件来引用资源, 它的文件名必须在命令行中作为参数提供。 设置文件的示例可以在 resources/settings
Bugzilla ETL以两个文件的形式保持本地运行状态: first_run_time和last_run_time。这两个参数都在 “settings.json”文件。
- ^ TT2}仅在不存在时才写入,并且触发器 完整的etl刷新。如果要创建新的ES,请删除此文件 索引并从头开始ETL。
- last_run_time只要成功 ETL公司。在初始完整ETL之前,该文件将不存在。 已成功完成。删除此文件应该没有网络 效果,而不是让程序工作得更努力。
运行bz_etl.py
测量您的settings.json文件位于~/Bugzilla_ETL:
cd ~/Bugzilla_ETL bzetl --settings=settings.json
使用--help可获得更多选项,请参见example command line script
开始工作了吗?
最初的etl需要两个多小时。如果你想快点 要确认配置正确,请使用--reset--quick 命令行上的参数。这将把etl限制在前1000, 最后1000个虫子。
bzetl --settings=settings.json --reset --quick
开发人员安装
如果你打算帮助改进这个软件,或者你喜欢从 source,您可以从github进行克隆:
git clone https://github.com/klahnakoski/Bugzilla-ETL.git
安装要求:
pip install -e
最好在Linux上安装,但如果在Windows上安装,则 可以在 我的另一个项目是: https://github.com/klahnakoski/pyLibrary/blob/master/README.md
运行测试
git克隆将包括测试代码。你可以运行这些测试,但是 必须…
- 安装mysql(不需要bugzilla模式)
- 安装时区数据库 (instructions)
- 指向资源的完整test_settings.json文件 (example)
- 使用pypy将速度提高4倍: pypy .\tests\test_etl.py --settings=test_settings.json
有关ElasticSearch的详细信息
如果您是elasticsearch的新手,我建议使用ElasticSearch Head获取集群 状态、当前架构定义、查看单个记录,以及 更多。从github克隆它,并从中打开index.html文件 你的浏览器。这里有一些备用的 instructions。