安装

hwc-dws-cli 是一个 Python 命令行工具,通过 pip 安装后直接使用 hwc-dws-cli 命令。

环境要求

安装

方式一:pip 直接安装(包已发布到 PyPI 后)

pip install hwc-dws-cli

方式二:源码目录安装脚本(推荐)。脚本自动检测 Python 解释器(默认 python,若为 2.x 则回退 python3)、从 pyproject.toml 读取版本号,并校验安装结果:

# Linux / macOS (bash)
./install.sh

# Windows (PowerShell)
.\install.ps1

如需安装可选依赖(odbc / parquet / agent):

# Linux / macOS
./install.sh --extras

# Windows
.\install.ps1 -Extras

安装完成后按提示运行 hwc-dws-cli config set(命令行 8 步向导)或 hwc-dws-cli config set web(网页向导)完成配置。

如需 ODBC 驱动支持(可选,仅作参考场景使用):

pip install hwc-dws-cli[odbc]
ODBC 说明
ODBC 驱动不用于生产 DWS 连接,仅作为参考回退。DWS SQL 执行统一使用 psycopg2(DWS 官方驱动)。

依赖

pyproject.toml 中声明的核心依赖:

依赖版本用途
psycopg2-binary>=2.9DWS SQL 连接与执行(官方驱动)
click>=8.1CLI 命令行框架
pydantic==2.14.2Envelope 响应模型
cryptography>=42.0配置加密(AES-256-GCM)
PyYAML>=6.0配置文件解析
sqlglot>=30.7SQL 分类解析(DWS 方言)
requests>=2.31API 网关调用
structlog>=24.1结构化日志
tqdm>=4.66进度条
keyring>=24.0系统凭据存储(可选)

可选依赖:[odbc] 提供 pyodbc;[parquet] 提供 pyarrow。

验证安装

hwc-dws-cli --version
# hwc-dws-cli, version 1.0.1

hwc-dws-cli --help
# Usage: hwc-dws-cli [OPTIONS] COMMAND [ARGS]...
# Commands:
#   api        DWS API passthrough commands (read-only).
#   audit      Audit log management commands (show/search/clean).
#   check-con  Check database connection.
#   cluster    Cluster management commands (read-only DWS OpenAPI queries).
#   config     Configuration management.
#   data       Data import/export management.
#   meta       Metadata commands for schemas, tables, and columns.
#   ops        Database operations and monitoring (read-only queries).
#   sql        Execute SQL statement.
#   tune       SQL tuning configuration management.

配置目录

首次运行前需配置连接。运行 hwc-dws-cli config set 启动 8 步交互式向导(AK/SK → proxy → region → cluster → endpoint → credentials → DB 连通性 → API 连通性)。配置文件位于 ~/.hwc-dws-cli/:

文件说明
config.yaml三层配置(global / regions / clusters)。AK 明文,SK / proxy / 连接密码加密。
crypto.json主密钥冗余备份(机器指纹 + PBKDF2 + AES-256-GCM 元数据)。
store.dbJSON KV 状态存储(审计日志、token 缓存、传输会话、任务队列)。
<effective_dir>/semantic.db语义元数据库(生效目录 = {base}/{cluster_marker}/{database}/)。
regionlist.md区域中文名缓存(来自 IAM list-projects)。

下一步:快速开始 →