4. 工具安装与环境准备

在开始风控数据质量沙盘推演之前,必须完成工具链的安装与依赖环境的配置。本章节详细说明系统要求、安装包获取方式以及 Python/Java 依赖环境的配置步骤,确保沙盘推演工具能够稳定运行。

4.1 系统要求

沙盘推演工具支持主流操作系统,推荐使用 Linux 或 macOS 进行生产级推演。Windows 用户可通过 WSL2 获得完整支持。以下为最低与推荐配置:

配置项 最低要求 推荐配置
操作系统 Ubuntu 20.04 / macOS 12 / Windows 10 21H2 Ubuntu 22.04 LTS / macOS 14 / Windows 11
CPU 4 核 2.0 GHz 8 核 3.0 GHz 及以上
内存 8 GB RAM 32 GB RAM
磁盘 50 GB 可用空间(SSD) 200 GB 可用空间(NVMe SSD)
网络 宽带连接(用于下载依赖) 稳定宽带,建议 100 Mbps 以上
Python 3.9 3.11 或 3.12
Java JDK 11 JDK 17 或 21 (LTS)
注意: 如果使用 Windows 系统,请务必安装 WSL2 并配置 Ubuntu 22.04 发行版。直接在 Windows CMD 或 PowerShell 下运行沙盘推演工具可能导致路径解析错误和性能下降。

4.2 安装包获取

沙盘推演工具安装包通过官方制品仓库发布,支持两种获取方式:

  1. 直接下载压缩包: 访问内部制品库(Artifactory/Nexus),下载 dq-sandbox-{version}.tar.gz 或 dq-sandbox-{version}.zip。
  2. 通过 Git 克隆: 从内部 GitLab 仓库克隆完整项目,包含示例数据与推演剧本。
# 方式一:下载并解压
wget https://artifactory.example.com/dq-sandbox/releases/dq-sandbox-2.1.0.tar.gz
tar -xzf dq-sandbox-2.1.0.tar.gz
cd dq-sandbox-2.1.0

# 方式二:Git 克隆(推荐,便于后续更新)
git clone git@gitlab.example.com:dq-sandbox/dq-sandbox.git
cd dq-sandbox
git checkout tags/v2.1.0 -b stable-v2.1.0
提示: 推荐使用 Git 克隆方式,因为沙盘推演工具会频繁更新数据质量规则库和推演剧本,通过 git pull 即可快速同步最新版本。

4.3 Python 依赖环境配置

沙盘推演工具的核心引擎基于 Python 开发,依赖管理使用 Poetry 或 pip + virtualenv。以下为两种配置方式:

4.3.1 使用 Poetry(推荐)

# 安装 Poetry
curl -sSL https://install.python-poetry.org | python3 -

# 进入项目目录,安装所有依赖
cd dq-sandbox
poetry install

# 激活虚拟环境
poetry shell

4.3.2 使用 pip + virtualenv

# 创建虚拟环境
python3 -m venv venv

# 激活虚拟环境(Linux/macOS)
source venv/bin/activate

# 激活虚拟环境(Windows PowerShell)
.\venv\Scripts\Activate.ps1

# 安装依赖
pip install --upgrade pip
pip install -r requirements.txt

Python 依赖清单(核心组件):

依赖包 版本要求 用途
pandas >=2.0, <3.0 数据框操作与质量指标计算
numpy >=1.24, <2.0 数值计算与统计函数
great_expectations >=0.18, <1.0 数据质量期望与验证引擎
pyarrow >=14.0 列式存储与高性能 I/O
click >=8.1 命令行接口框架
rich >=13.0 终端格式化输出与进度条

4.4 Java 依赖环境配置

沙盘推演工具中的实时流计算模块和部分数据源连接器基于 Java 实现,需要配置 JDK 和构建工具。

4.4.1 JDK 安装与验证

# 检查是否已安装 JDK
java -version

# 安装 OpenJDK 17(Ubuntu/Debian)
sudo apt update
sudo apt install openjdk-17-jdk -y

# 安装 OpenJDK 17(macOS Homebrew)
brew install openjdk@17

# 设置 JAVA_HOME 环境变量(写入 ~/.bashrc 或 ~/.zshrc)
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

4.4.2 Maven 配置

项目使用 Maven 管理 Java 模块依赖,确保已安装 Maven 3.8+:

# 安装 Maven(Ubuntu/Debian)
sudo apt install maven -y

# 验证安装
mvn -version

# 编译 Java 模块(在项目根目录执行)
mvn clean package -pl java-modules -am -DskipTests
关键说明: Java 模块主要用于连接 Kafka、Flink 等流处理组件。如果仅进行离线数据质量推演,可以不配置 Java 环境,Python 引擎已覆盖全部离线场景。

4.5 环境验证与架构总览

完成上述配置后,运行以下命令验证环境是否就绪:

# 验证 Python 环境
python3 -c "import pandas; import great_expectations; print('Python 依赖 OK')"

# 验证 Java 环境
java -version 2>&1 | grep "openjdk version"

# 运行沙盘工具自检
cd dq-sandbox
python3 dq_sandbox.py --check-env

以下 SVG 图展示了沙盘推演工具的完整软件架构与依赖层次:

沙盘推演工具软件架构与依赖层次 用户接口层 (CLI / Web UI) 核心推演引擎 (Python) 数据质量规则引擎 & 指标计算模块 Great Expectations | Pandas | NumPy | PyArrow 数据连接器 & 流处理模块 Kafka Connector | Flink (Java) | JDBC | S3 基础设施层 (OS / 文件系统 / 网络) Python 3.9+ Java JDK 17 Poetry Maven

上图清晰地展示了从用户接口到底层基础设施的完整依赖链路。Python 引擎承担核心推演逻辑,Java 模块负责流式数据接入,两者通过标准数据格式(Arrow/Parquet)进行交互。

4.6 常见安装问题与解决

问题现象 可能原因 解决方案
poetry install 报 SSL 错误 系统 OpenSSL 版本过低或证书过期 升级 OpenSSL:sudo apt install openssl libssl-dev
java -version 显示旧版本 系统默认 JDK 未切换 使用 update-alternatives --config java 切换
沙盘工具启动后中文乱码 缺少中文字体或 locale 未配置 安装 fonts-noto-cjk 并设置 LANG=zh_CN.UTF-8
Maven 编译失败,依赖下载超时 网络代理或镜像配置错误 在 ~/.m2/settings.xml 中配置阿里云镜像
最佳实践: 建议在首次安装完成后,运行 dq_sandbox.py --run-demo 执行一次完整的示例推演,以验证所有组件协同工作正常。示例推演包含 3 个预置数据质量场景和 12 条规则,耗时约 2 分钟。