hello-datap-component-base
数据处理平台组件 SDK:统一入参/出参、Ray 分布式日志、数据跟踪(track)、结果投递(OSS + MNS)。
当前版本:0.6.5
安装
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.5
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.5.tar.gz | 81.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hello_datap_component_base-0.6.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 147.1 kB
Release files / hello_datap_component_base-0.6.5.tar.gz
| Download URL | hello_datap_component_base-0.6.5.tar.gz |
|---|---|
| Size | 81.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
00b32a0e06a6ef532ba768354cc0492fe38bbc49e9b73b465b92c0e914b74c0c
|
|
BLAKE2b-256 checksum How to use checksums |
a67956936d491c4c0ecb76caef835d36678b8abb95d51fb431b24d013f243477
|
| 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.5-py3-none-any.whl
| Download URL | hello_datap_component_base-0.6.5-py3-none-any.whl |
|---|---|
| Size | 65.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bfb95eb6e5420ae3b96eafa1cf16e2e4e47ba72e3c955f47702e761068c2b475
|
|
BLAKE2b-256 checksum How to use checksums |
a8bea9b2a6abdd72ce9662920641d062ec99033ad2d19e616ad5f705bd3dc716
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.11
|