hello-datap-component-base
数据处理平台组件 SDK:统一入参/出参、Ray 分布式日志、数据跟踪(track)、结果投递(OSS + MNS)。
当前版本:0.6.1
安装
pip install hello-datap-component-base
Ray 集群由平台或作业入口初始化,组件代码内无需 ray.init()。
集成方式(推荐:提示词)
不要从零对照 API 手写骨架。 将下方提示词交给 Cursor / Copilot 等 AI,附上你的业务描述,即可生成符合平台规范的完整组件代码。
| 场景 | 提示词文件 | SDK 要求 |
|---|---|---|
普通流水线节点(自行 ray.get 批量聚合) |
prompts/普通组件集成提示词.md |
≥ 0.6.0 |
| 流水线已开启 「DAG 流式执行 / DAG 漏斗视角」 | prompts/DAG流式组件集成提示词.md |
≥ 0.6.0 |
如何选型
流水线「高级」里是否勾选「启用 DAG 流式执行」?
├── 否 → 用「普通组件」提示词,继承 BaseService
└── 是 → 用「DAG 流式」提示词,继承 DagStreamingService(自动 dagStream 计数 + 并发/超时)
提示词内已包含:Ray runtime_env 透传、logger / track 用法、失败隔离、代码骨架。以提示词为准,本文不再重复展开。
参考示例
提交远程 Ray 集群前,可先对照仓库内完整 Demo:
| 目录 | 类型 | 说明 |
|---|---|---|
examples/batch_compute/ |
普通组件 | 加减乘除批量计算,BaseService + ray.get |
examples/dag_streaming/ |
DAG 流式 | 同上业务,含 outputResult.dagStream |
各子目录含 service.py + config.json,运行方式见对应 README.md。
运行组件
component_manager start <config.json> --class-name <YourServiceClass>
等价:python -m hello_datap_component_base.cli start ...
常用子命令:list · validate · test
配置要点
config.json 中 params 会作为 process(data) / extract_items(params) 的入参;平台注入的跟踪、MNS、OSS 等变量写在 runtime_env.env_vars 或由平台下发(提示词中说明如何传给 Ray worker)。
最小字段:name(必需)、version、work_flow_id、work_flow_instance_id、task_id、runtime_env、params。
数据跟踪传输
track.log() 默认继续使用 MNS;设置 DATA_TRACK_TRANSPORT=kafka 后切换到 Kafka。Kafka 需要
DATA_TRACK_KAFKA_BOOTSTRAP_SERVERS,topic 可通过 DATA_TRACK_KAFKA_TOPIC 覆盖,默认
platform_process_bag_track_v2。tools.extract_specific_env_vars() 会将这些配置连同 MNS
回滚配置透传给 Ray worker。
返回格式
框架将业务 process 返回值包在 data.out_put 中;整体结构:
{
"code": 0,
"message": "success",
"processing_time": 0.12,
"data": {
"work_flow_id": 123,
"work_flow_instance_id": 456,
"task_id": "task-001",
"out_put": { }
}
}
失败时 code = -1,out_put 为 null。DAG 流式组件的业务结果与 dagStream 字段同在 out_put 内(详见 DAG 提示词)。
SDK 能力一览
| 模块 | 用途 |
|---|---|
BaseService |
普通组件基类 |
DagStreamingService |
DAG 流式组件(推荐 ≥ 0.6.0) |
logger |
Header / 按数据 key 分文件的 Ray 业务日志,可上传 OSS |
track |
数据跟踪,两段式上报 MNS/Kafka(默认 MNS) |
tools |
extract_specific_env_vars()、bag 路径解析等 |
项目结构
hello_datap_component_base/ # SDK 源码
prompts/ # 集成提示词(推荐入口)
examples/ # 可运行的参考 Demo
tests/
许可证
MIT License
Metadata
Release files for hello-datap-component-base 0.6.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 | |
|---|---|---|---|
| hello_datap_component_base-0.6.1.tar.gz | 77.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hello_datap_component_base-0.6.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 141.0 kB
Release files / hello_datap_component_base-0.6.1.tar.gz
| Download URL | hello_datap_component_base-0.6.1.tar.gz |
|---|---|
| Size | 77.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
551c673f6297add692cdd90c0da31bfabf520435e97f851c923da188b0d33fef
|
|
BLAKE2b-256 checksum How to use checksums |
1708217452e3d7b612e8fc68e72c58d630223024e38159d2b376ff7ab32761c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.11
|
Release files / hello_datap_component_base-0.6.1-py3-none-any.whl
| Download URL | hello_datap_component_base-0.6.1-py3-none-any.whl |
|---|---|
| Size | 63.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
91f4dd433a89f2bdfb1793101a3d91b0fee026578253e40f0745f89253088c12
|
|
BLAKE2b-256 checksum How to use checksums |
8febc0ea3e49f42d5b702e66a48ff2b6e734ad998e50e78990b469e0597b106f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.11
|