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_timelast_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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在JavaEE中隔离用户会话?   java什么是CacheManager的替代方法。集合名(字符串名)   当am通过==运算符比较对象时,java sop命令未打印附加文本为什么?   java如何关闭一个gui的一个窗口,该窗口有两个打开的窗口,而不同时关闭这两个窗口?   java如何在socket回调中使用观察器?   java在自定义soap处理程序中是否有一种获得操作名的保证方法?   正则表达式Java解析字符串   java希望从其他方法检索RGB像素值,但无法检索   java如何在Android RecyclerView中循环浏览项目?   java tomcat 8上的主机中的软件中止了已建立的连接   java Apache CXF3。具有可靠消息传递的0.4 Soap web服务引发异常   Java与Hibernate数据库   使用put存储新的键值对时,现有键的java Hashmap值将被覆盖。如何预防?   并非所有unix shell的java命令都在运行   java根据元素的自然顺序对列表进行排序   基于值的java同步方法评估   java如何使用axis2 java2wsdl创建标头?   铸造如何阻止java舍入   java计数休眠和命名查询