# ============================================================================== # ETL 系统配置文件 # ============================================================================== # 配置优先级:DEFAULTS < .env < CLI 参数 # 语法:KEY=VALUE(正斜杠路径,布尔值用 true/false,列表用逗号分隔) # ------------------------------------------------------------------------------ # 门店配置 # ------------------------------------------------------------------------------ STORE_ID=2790685415443269 TIMEZONE=Asia/Shanghai # ------------------------------------------------------------------------------ # 数据库配置 # ------------------------------------------------------------------------------ # 完整 DSN(优先使用,设置后忽略下面的分离式配置) PG_DSN=postgresql://local-Python:Neo-local-1991125@100.64.0.4:5432/LLZQ-test # 分离式配置(不使用 DSN 时启用) # PG_HOST=localhost # PG_PORT=5432 # PG_NAME=your_database # PG_USER=your_user # PG_PASSWORD=your_password # 连接超时(秒,默认 20) PG_CONNECT_TIMEOUT=10 # ------------------------------------------------------------------------------ # 数据库 Schema 配置 # ------------------------------------------------------------------------------ # OLTP 业务数据 schema(默认 billiards) SCHEMA_OLTP=billiards # ETL 管理数据 schema(默认 etl_admin) SCHEMA_ETL=etl_admin # ------------------------------------------------------------------------------ # API 配置 # ------------------------------------------------------------------------------ API_BASE=https://pc.ficoo.vip/apiprod/admin/v1/ API_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnQtdHlwZSI6IjQiLCJ1c2VyLXR5cGUiOiIxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiMTIiLCJyb2xlLWlkIjoiMTIiLCJ0ZW5hbnQtaWQiOiIyNzkwNjgzMTYwNzA5OTU3Iiwibmlja25hbWUiOiLnp5_miLfnrqHnkIblkZjvvJrmganmgakxIiwic2l0ZS1pZCI6IjAiLCJtb2JpbGUiOiIxMzgxMDUwMjMwNCIsInNpZCI6IjI5NTA0ODk2NTgzOTU4NDUiLCJzdGFmZi1pZCI6IjMwMDk5MTg2OTE1NTkwNDUiLCJvcmctaWQiOiIwIiwicm9sZS10eXBlIjoiMyIsInJlZnJlc2hUb2tlbiI6ImExdEV0VG9kQ0hoeWduelU3Umw0MDJMenFrVTdHS0xTM3h1U3VtNmFHK1E9IiwicmVmcmVzaEV4cGlyeVRpbWUiOiIyMDI2LzIvMjAg5LiK5Y2IMjo1Mzo0MiIsIm5lZWRDaGVja1Rva2VuIjoiZmFsc2UiLCJleHAiOjE3NzE1MjcyMjIsImlzcyI6InRlc3QiLCJhdWQiOiJVc2VyIn0.q4PikSEXoLfhuRmW_X1H3ykE0DCmQiVsLwwF_ZHoI3M # API 请求超时(秒,默认 20) API_TIMEOUT=20 # 分页大小(默认 200) API_PAGE_SIZE=200 # 最大重试次数(默认 3) API_RETRY_MAX=3 # 重试退避时间(JSON 数组格式,单位秒,默认 [1, 2, 4]) # API_RETRY_BACKOFF=[1, 2, 4] # 额外请求参数(JSON 对象格式) # API_PARAMS={} # ------------------------------------------------------------------------------ # 路径配置 # ------------------------------------------------------------------------------ # JSON 导出根目录 EXPORT_ROOT=C:/ZQYY/export/ETL/JSON # 日志输出根目录 LOG_ROOT=C:/ZQYY/export/ETL/LOG # 在线抓取 JSON 输出根目录(FETCH_ONLY 模式使用) FETCH_ROOT=C:/ZQYY/export/ETL/JSON # 本地清洗入库时的 JSON 输入目录(INGEST_ONLY 模式使用,为空则默认使用本次抓取目录) # INGEST_SOURCE_DIR= # manifest 文件名(默认 manifest.json) # MANIFEST_NAME=manifest.json # 入库报告文件名(默认 ingest_report.json) # INGEST_REPORT_NAME=ingest_report.json # 是否格式化输出 JSON(默认 true) WRITE_PRETTY_JSON=true # ------------------------------------------------------------------------------ # 管线流程配置 # ------------------------------------------------------------------------------ # 运行流程:FULL(抓取+入库)、FETCH_ONLY(仅抓取落盘)、INGEST_ONLY(仅本地入库) PIPELINE_FLOW=FULL # ------------------------------------------------------------------------------ # 时间窗口配置 # ------------------------------------------------------------------------------ # 窗口重叠秒数(默认 600,即 10 分钟) OVERLAP_SECONDS=600 # 繁忙时段窗口分钟数(默认 30) WINDOW_BUSY_MIN=30 # 空闲时段窗口分钟数(默认 180) WINDOW_IDLE_MIN=180 # 空闲时段起止时间(默认 04:00 ~ 16:00) IDLE_START=04:00 IDLE_END=16:00 # 窗口切分单位(默认 day) WINDOW_SPLIT_UNIT=day # 窗口切分天数(默认 10) WINDOW_SPLIT_DAYS=10 # 窗口补偿小时数(默认 2) WINDOW_COMPENSATION_HOURS=2 # 空结果是否推进游标(默认 true) ALLOW_EMPTY_RESULT_ADVANCE=true # ------------------------------------------------------------------------------ # 快照配置 # ------------------------------------------------------------------------------ # 快照缺失时是否删除(默认 true) SNAPSHOT_MISSING_DELETE=true # 快照为空时是否允许删除(默认 false) SNAPSHOT_ALLOW_EMPTY_DELETE=false # ------------------------------------------------------------------------------ # 数据完整性检查配置 # ------------------------------------------------------------------------------ # 检查模式:history(历史区间)/ latest(最近一次) INTEGRITY_MODE=history # 历史检查起始日期 INTEGRITY_HISTORY_START=2025-07-01 # 历史检查结束日期(为空则到当天) # INTEGRITY_HISTORY_END= # 是否包含维度表(默认 true) INTEGRITY_INCLUDE_DIMENSIONS=true # 是否自动触发检查(默认 false) INTEGRITY_AUTO_CHECK=false # 是否自动回填缺失数据(默认 false) INTEGRITY_AUTO_BACKFILL=false # 是否比较内容(默认 true) INTEGRITY_COMPARE_CONTENT=true # 内容比较采样上限(默认 50) INTEGRITY_CONTENT_SAMPLE_LIMIT=50 # 内容不一致时是否回填(默认 true) INTEGRITY_BACKFILL_MISMATCH=true # 回填后是否重新检查(默认 true) INTEGRITY_RECHECK_AFTER_BACKFILL=true # 指定 ODS 任务代码(逗号分隔,为空则全部) # INTEGRITY_ODS_TASK_CODES= # 是否强制按月切分(默认 true) # INTEGRITY_FORCE_MONTHLY_SPLIT=true # ------------------------------------------------------------------------------ # 校验配置 # ------------------------------------------------------------------------------ # 抓取后校验时是否跳过 ODS 重载(默认 true) VERIFY_SKIP_ODS_ON_FETCH=true # 校验时是否使用本地 JSON(默认 true) VERIFY_ODS_LOCAL_JSON=true # ------------------------------------------------------------------------------ # DWD 层配置 # ------------------------------------------------------------------------------ # 事实表是否使用 UPSERT(默认 true) DWD_FACT_UPSERT=true # ------------------------------------------------------------------------------ # 任务列表配置 # ------------------------------------------------------------------------------ # ODS 抓取任务列表(逗号分隔) RUN_TASKS=PRODUCTS,TABLES,MEMBERS,ASSISTANTS,PACKAGES_DEF,ORDERS,PAYMENTS,REFUNDS,COUPON_USAGE,INVENTORY_CHANGE,TOPUPS,TABLE_DISCOUNT,ASSISTANT_ABOLISH,LEDGER # DWS 汇总任务列表(逗号分隔,为空则不执行) # RUN_DWS_TASKS= # 指数计算任务列表(逗号分隔,为空则不执行) # RUN_INDEX_TASKS= # 指数回溯天数(默认 60) INDEX_LOOKBACK_DAYS=60 # ------------------------------------------------------------------------------ # DWS 月度/薪资配置 # ------------------------------------------------------------------------------ # 新人封顶生效日期(默认 2026-03-01) # DWS_MONTHLY_NEW_HIRE_CAP_EFFECTIVE_FROM=2026-03-01 # 新人封顶天数(默认 25) # DWS_MONTHLY_NEW_HIRE_CAP_DAY=25 # 新人最高等级(默认 2) # DWS_MONTHLY_NEW_HIRE_MAX_TIER_LEVEL=2 # 薪资计算运行天数(默认 5) # DWS_SALARY_RUN_DAYS=5 # 是否允许非周期内运行(默认 false) # DWS_SALARY_ALLOW_OUT_OF_CYCLE=false # 包房课单价(默认 138) # DWS_SALARY_ROOM_COURSE_PRICE=138 # ------------------------------------------------------------------------------ # ODS 离线回放配置(仅开发/运维使用) # ------------------------------------------------------------------------------ # ODS_JSON_DOC_DIR=export/test-json-doc # ODS_INCLUDE_FILES= # ODS_DROP_SCHEMA_FIRST=true