本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
、加载到关系数据库(供分析师进行深度查询)以及推送到键值存储(Elasticsearch),为主要网站(obudget.org)提供数据支持。
实现这一过程的框架是datapackage-pipelines,该框架允许编写简单的“管道”,每个管道由一组预定义处理步骤组成。这些管道无需编码,而是通过一组YAML文件定义。大多数管道使用通用构建块,部分使用自定义处理器(主要是针对特殊数据源的自定义爬虫)。
要查看各管道的当前处理状态,可访问仪表盘。
datapackage-pipelines框架的应用示例,供开发者参考所有管道定义位于datapackage_pipelines_budgetkey_data_pipeline/pipelines目录下,主要结构如下:
budget/
national/
original:获取国家预算的管道processed:处理和分析国家预算的管道changes/
original:获取国家预算变更信息的管道processed:处理和分析预算变更(检测交易等)的管道explanations:获取和提取国家预算变更说明文档文本的管道entities/
associations:获取非政府组织(NGO)信息的管道companies:获取公司信息的管道ottoman:获取奥斯曼协会信息的管道special:获取其他实体信息的管道procurement/
spending:获取和处理政府支出报告的管道tenders:获取政府招标流程数据的管道supports/:获取政府支持及其相关流程数据的管道注:如需了解不同类型政府支出的区别,可阅读这篇博客文章。
datapackage-pipelines框架文档datapackage-pipelines-budgetkey包sudo apt-get install build-essential python3-dev libxml2-dev libxslt1-dev libleveldb-dev
推荐使用pyenv管理Python版本。
Ubuntu系统:
sudo apt-get install git python-pip make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev sudo pip install virtualenvwrapper git clone [***] ~/.pyenv git clone [***] ~/.pyenv/plugins/pyenv-virtualenvwrapper echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc echo 'pyenv virtualenvwrapper' >> ~/.bashrc exec $SHELL
OSX系统:
brew install pyenv echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
安装完成后设置Python版本:
pyenv install 3.6.1 pyenv global 3.6.1
python --version # 确保输出Python 3.6.0+ sudo mkdir -p /var/datapackages && sudo chown $USER /var/datapackages/ make install budgetkey-dpp # 验证安装,应显示可用管道列表
budgetkey-dpp run ./entities/companies/registrar/registry
运行后将创建以下文件:
/var/datapackages:数据以datapackage格式保存datapackage_pipelines_budgetkey/.data.db:数据存储到数据库(可通过DPP_DB_ENGINE环境变量设置自定义数据库,格式为SQLAlchemy连接URL)datapackage_pipelines_budgetkey/pipelines/.dpp.db:管道元数据和运行状态make test
# 运行特定测试文件 tox tests/tenders/test_fixtures.py # 直接使用py.test(需先安装pytest) pip install pytest py.test tests/tenders/test_fixtures.py -svk test_tenders_fixtures_publishers
Docker Compose可用于运行包含所有必要服务的完整环境,类似生产环境。
docker-compose build pipelinesdocker-compose up -d redis db pipelines
http://localhost:5000/(默认不运行工作节点)postgresql://postgres:123456@localhost:15432/postgresdocker-compose exec pipelines sh -c "budgetkey-dpp"
docker-compose up -d elasticsearch kibana
source .env.example dpp
以下步骤将datapackage加载到Elasticsearch,供Kibana探索数据(注意:会删除本地Docker Compose卷,确保无重要数据):
# 启动基础服务 docker-compose down -v && docker-compose pull elasticsearch db && docker-compose up -d elasticsearch db # 设置环境变量 export DPP_DB_ENGINE="postgresql://postgres:123456@localhost:15432/postgres" export DPP_ELASTICSEARCH="localhost:19200" # 加载数据(默认加载每个管道前100行,可修改ES_LIMIT_ROWS或移除) for doctype in `budgetkey-dpp | grep .budgetkey/elasticsearch/index_ | cut -d"_" -f2 - | cut -d" " -f1 -`; do echo " > 加载 ${doctype}" ES_LOAD_FROM_URL=1 ES_LIMIT_ROWS=100 budgetkey-dpp run ./budgetkey/elasticsearch/index_$doctype done
启动Kibana探索数据:
docker-compose up -d kibana
Kibana可通过http://localhost:15601/访问(启动可能需要几分钟),索引名称为budgetkey。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429