52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
||
"""iAOP-Core · 数据总线 + 时序库(Data Bus)—— 模板化封装。
|
||
|
||
对应 PRD 5.2「② 数据总线 + 时序库」与 Issue #4(EPIC):
|
||
复用 Kafka + TDengine + PostgreSQL + MinIO,全部改为**按模板配置**
|
||
topic / 时序库表 / 关系表 / 对象桶,换行业只改模板资产(YAML + 点位字典),
|
||
内核代码零改动;批量写入缓冲 + 幂等去重,保障「数据不丢不重」。
|
||
|
||
模块:
|
||
- templating 模板命名推导(Kafka topic/分区、TDengine 表、PG schema、MinIO 桶);
|
||
- tdengine_schema 时序超级表/子表 DDL + 批量 INSERT SQL 生成;
|
||
- postgres_schema 关系库 schema(模板/模型/用户/权限)+ 授权语句;
|
||
- batch_writer 批量写入缓冲(StoreSink 抽象 / MemorySink / TdengineSink),
|
||
批量聚合 + 幂等去重 + 失败重试(不丢不重)。
|
||
|
||
测试:`python -m unittest discover -s tests -v`(在 core/data-bus 目录下执行)。
|
||
"""
|
||
__version__ = "0.2.0"
|
||
|
||
from .batch_writer import (
|
||
DEDUP_KEYS,
|
||
BatchWriter,
|
||
MemorySink,
|
||
StoreSink,
|
||
TdengineSink,
|
||
)
|
||
from .postgres_schema import generate_grant_ddl, generate_schema_ddl
|
||
from .tdengine_schema import (
|
||
PointSpec,
|
||
build_batch_insert,
|
||
generate_subtable_ddls,
|
||
generate_supertable_ddl,
|
||
)
|
||
from .templating import TemplateNaming, sanitize, sanitize_sql
|
||
|
||
__all__ = [
|
||
"TemplateNaming",
|
||
"sanitize",
|
||
"sanitize_sql",
|
||
"PointSpec",
|
||
"generate_supertable_ddl",
|
||
"generate_subtable_ddls",
|
||
"build_batch_insert",
|
||
"generate_schema_ddl",
|
||
"generate_grant_ddl",
|
||
"StoreSink",
|
||
"MemorySink",
|
||
"TdengineSink",
|
||
"BatchWriter",
|
||
"DEDUP_KEYS",
|
||
]
|