vools-pyk
vools的 PySpark / PostgreSQL 集成子包(独立分发)。 文档即实现:本包的全部 API、Schema、生命周期均由本仓库文档承载。
vools-pyk 是 vools 核心库(零 pyspark 依赖、轻量)与 大数据生态 的桥接层。
它把 Spark、Hive、PostgreSQL 相关的能力收拢到 vools.pyk 命名空间下,独立发布,
让核心库保持纯净,同时大数据场景的用户开箱即用。
安装
通过 vools 的 extras 安装(推荐)
pip install "vools[pyk]"
直接安装独立包
pip install vools-pyk
开发安装(含 pytest)
pip install "vools-pyk[dev]"
依赖
| 包 | 最低版本 |
|---|---|
vools |
>= 0.7.8 |
pyspark |
>= 2.4.3 |
pandas |
>= 0.24 |
numpy |
>= 1.16 |
支持 Python 3.6 – 3.13。
快速开始
import vools.pyk as pyk
# 1. 获取 SparkSession(单例,重复调用复用)
spark = pyk.get_spark(app_name="my_pipeline")
# 2. 安装 monkey-patch(把 pyk 的扩展挂到原生 DataFrame/SparkSession)
pyk.install_patch()
# 3. 读数据 + 使用 pyk.df 扩展
df = spark.read.parquet("hdfs:///warehouse/tbl")
df.show_ex(20) # 更友好的 show
df.unique_by("date").show_ex()
模块一览
| 模块 | 路径 | 用途 |
|---|---|---|
| core | vools.pyk.core |
SparkSession 管理、run_ds、show_*、HDFS 文件元数据、分区检查 |
| df | vools.pyk.df |
vicDataFrame 及 DataFrame monkey-patch 扩展 |
| text | vools.pyk.text |
vicText 的 pyspark 相关扩展(toDF 等) |
| tb | vools.pyk.tb |
Hive 表元数据(vicTableInfo、getCols、get_partitions) |
| compare | vools.pyk.compare |
DataFrame 比对(vicCompare) |
| postgre | vools.pyk.postgre |
PostgreSQL 辅助(vicPostgreSupport) |
| cond | vools.pyk.cond |
条件表达式 / CASE WHEN 构造器(ConditionBuilder) |
| configs | vools.pyk.configs |
配置管理、密钥加解密、PostgreSQL 凭据 |
| patch | vools.pyk.patch |
monkey-patch 安装(DataFrame/SparkSession 扩展) |
| look_upon | vools.pyk.look_upon |
LookUpon 任务调度(PostgreSQL 队列,DAG / 跨表依赖 / 重试) |
| tools | vools.pyk.tools |
vicTools 聚合类(一站式工具入口) |
重要设计
独立分发
vools 核心库不依赖 pyspark。vools-pyk 通过 PyPI 独立包分发,
安装后以 vools.pyk namespace 包形式合并进 vools 的命名空间。
from vools import pyk # 推荐
import vools.pyk as pyk # 等价
懒加载
顶层 vools.pyk 不会在 import 时拉起 pyspark(生产环境可能未安装 / 启动慢)。
只有显式 import vools.pyk.core 之类才触发懒加载。
import vools.pyk
print(vools.pyk.is_available()) # True / False,不拉起 pyspark
可用性检查
import vools.pyk as pyk
if pyk.is_available():
spark = pyk.get_spark("app")
完整文档
- LookUpon 任务调度 —— PostgreSQL 队列、DAG 依赖、跨表依赖、重试、状态机(32 列 schema)
- 模块 API 概览 —— 各子模块的函数 / 类 / 常量清单
- 变更日志 —— 版本演进与新增功能
许可
Apache 2.0。详见 LICENSE。
Metadata
Release files for vools-pyk 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vools_pyk-0.1.1.tar.gz | 103.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vools_pyk-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 205.4 kB
Release files / vools_pyk-0.1.1.tar.gz
| Download URL | vools_pyk-0.1.1.tar.gz |
|---|---|
| Size | 103.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c39c5384f95a4dfa86b68bfec1b488b2265c42ccf3799a52f8e4e2c60d97789a
|
|
BLAKE2b-256 checksum How to use checksums |
0ec1dfb7d728e3b29ab0733efb8e8b79c08785caf234bf3c5d4da0ac6729c118
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.8
|
Release files / vools_pyk-0.1.1-py3-none-any.whl
| Download URL | vools_pyk-0.1.1-py3-none-any.whl |
|---|---|
| Size | 101.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
94db41c2ced5b710411da3ae932130a42e296a55e4a72462de25730c8534ef4b
|
|
BLAKE2b-256 checksum How to use checksums |
7e8fad113081d81e1fe27ee54d62d1c39d16e6675f540cb49c90b734eec1417b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.8
|