改 相对路径 完成客户端
This commit is contained in:
@@ -1,53 +1,131 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# 文件说明:ETL 环境变量(config/env_parser.py 读取),用于数据库连接、目录与运行参数。
|
||||
# ==============================================================================
|
||||
# ETL 系统配置文件
|
||||
# ==============================================================================
|
||||
# 配置优先级:DEFAULTS < .env < CLI 参数
|
||||
|
||||
# 数据库连接字符串,config/env_parser.py -> db.dsn,所有任务必需
|
||||
# ------------------------------------------------------------------------------
|
||||
# 数据库配置
|
||||
# ------------------------------------------------------------------------------
|
||||
# 完整 DSN(优先使用,如果设置了则忽略下面的 host/port/name/user/password)
|
||||
PG_DSN=postgresql://local-Python:Neo-local-1991125@100.64.0.4:5432/LLZQ-test
|
||||
# 数据库连接超时秒,config/env_parser.py -> db.connect_timeout_sec
|
||||
|
||||
# 分离式配置(如果不使用 DSN,可以单独配置以下参数)
|
||||
# PG_HOST=localhost
|
||||
# PG_PORT=5432
|
||||
# PG_NAME=your_database
|
||||
# PG_USER=your_user
|
||||
# PG_PASSWORD=your_password
|
||||
|
||||
# 连接超时(秒,范围 1-20)
|
||||
PG_CONNECT_TIMEOUT=10
|
||||
|
||||
# 门店/租户ID,config/env_parser.py -> app.store_id,任务调度记录使用
|
||||
STORE_ID=2790685415443269
|
||||
# 时区标识,config/env_parser.py -> app.timezone
|
||||
TIMEZONE=Asia/Taipei
|
||||
# ------------------------------------------------------------------------------
|
||||
# 数据库 Schema 配置
|
||||
# ------------------------------------------------------------------------------
|
||||
# OLTP 业务数据 schema(默认 billiards)
|
||||
SCHEMA_OLTP=billiards
|
||||
|
||||
# API 基础地址,config/env_parser.py -> api.base_url,FETCH 类任务调用
|
||||
# ETL 管理数据 schema(默认 etl_admin)
|
||||
SCHEMA_ETL=etl_admin
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# API 配置
|
||||
# ------------------------------------------------------------------------------
|
||||
API_BASE=https://pc.ficoo.vip/apiprod/admin/v1/
|
||||
# API 鉴权 Token,config/env_parser.py -> api.token,FETCH 类任务调用
|
||||
API_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnQtdHlwZSI6IjQiLCJ1c2VyLXR5cGUiOiIxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiMTIiLCJyb2xlLWlkIjoiMTIiLCJ0ZW5hbnQtaWQiOiIyNzkwNjgzMTYwNzA5OTU3Iiwibmlja25hbWUiOiLnp5_miLfnrqHnkIblkZjvvJrmganmgakxIiwic2l0ZS1pZCI6IjAiLCJtb2JpbGUiOiIxMzgxMDUwMjMwNCIsInNpZCI6IjI5NTA0ODk2NTgzOTU4NDUiLCJzdGFmZi1pZCI6IjMwMDk5MTg2OTE1NTkwNDUiLCJvcmctaWQiOiIwIiwicm9sZS10eXBlIjoiMyIsInJlZnJlc2hUb2tlbiI6IlpWV3grVThBc2FYekFJeTRiaXF6MktwNjMxbTFNRlozV3pLaXNjOHREY289IiwicmVmcmVzaEV4cGlyeVRpbWUiOiIyMDI2LzEvMTcg5LiL5Y2INDoyMjo1OSIsIm5lZWRDaGVja1Rva2VuIjoiZmFsc2UiLCJleHAiOjE3Njg2MzgxNzksImlzcyI6InRlc3QiLCJhdWQiOiJVc2VyIn0.PVeAIx1iHqmHRNaQ4OMFPuOlHBoE47bR5TGJjZP-eOE
|
||||
# API 请求超时秒,config/env_parser.py -> api.timeout_sec
|
||||
API_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnQtdHlwZSI6IjQiLCJ1c2VyLXR5cGUiOiIxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiMTIiLCJyb2xlLWlkIjoiMTIiLCJ0ZW5hbnQtaWQiOiIyNzkwNjgzMTYwNzA5OTU3Iiwibmlja25hbWUiOiLnp5_miLfnrqHnkIblkZjvvJrmganmgakxIiwic2l0ZS1pZCI6IjAiLCJtb2JpbGUiOiIxMzgxMDUwMjMwNCIsInNpZCI6IjI5NTA0ODk2NTgzOTU4NDUiLCJzdGFmZi1pZCI6IjMwMDk5MTg2OTE1NTkwNDUiLCJvcmctaWQiOiIwIiwicm9sZS10eXBlIjoiMyIsInJlZnJlc2hUb2tlbiI6Iks1ZnBhYlRTNkFsR0FpMmN4WGYrMHdJVkk0L2UvTVQrSVBHM3V5VWRrSjg9IiwicmVmcmVzaEV4cGlyeVRpbWUiOiIyMDI2LzEvMzEg5LiL5Y2IMTA6MTQ6NTEiLCJuZWVkQ2hlY2tUb2tlbiI6ImZhbHNlIiwiZXhwIjoxNzY5ODY4ODkxLCJpc3MiOiJ0ZXN0IiwiYXVkIjoiVXNlciJ9.BH3-iwwrBczb8aFfI__6kwe3AIsEPacN9TruaTrQ3nY
|
||||
|
||||
# API 请求超时(秒)
|
||||
API_TIMEOUT=20
|
||||
# API 分页大小,config/env_parser.py -> api.page_size
|
||||
|
||||
# 分页大小
|
||||
API_PAGE_SIZE=200
|
||||
# API 最大重试次数,config/env_parser.py -> api.retries.max_attempts
|
||||
|
||||
# 最大重试次数
|
||||
API_RETRY_MAX=3
|
||||
|
||||
# 日志根目录,config/env_parser.py -> io.log_root,Init/任务运行写日志
|
||||
LOG_ROOT=C:\dev\LLTQ\export\LOG
|
||||
# JSON 导出根目录,config/env_parser.py -> io.export_root,FETCH 产出及 INIT 准备
|
||||
EXPORT_ROOT=C:\dev\LLTQ\export\JSON
|
||||
# 重试退避时间(JSON 数组格式,单位秒)
|
||||
# API_RETRY_BACKOFF=[1, 2, 4]
|
||||
|
||||
# FETCH 模式本地输出目录,config/env_parser.py -> pipeline.fetch_root
|
||||
FETCH_ROOT=C:\dev\LLTQ\export\JSON
|
||||
# 本地入库 JSON 目录,config/env_parser.py -> pipeline.ingest_source_dir,MANUAL_INGEST/INGEST_ONLY 使用
|
||||
INGEST_SOURCE_DIR=C:\dev\LLTQ\export\test-json-doc
|
||||
# ------------------------------------------------------------------------------
|
||||
# 门店配置
|
||||
# ------------------------------------------------------------------------------
|
||||
STORE_ID=2790685415443269
|
||||
TIMEZONE=Asia/Taipei
|
||||
|
||||
# JSON 漂亮格式输出开关,config/env_parser.py -> io.write_pretty_json
|
||||
# ------------------------------------------------------------------------------
|
||||
# 路径配置
|
||||
# ------------------------------------------------------------------------------
|
||||
# 导出根目录
|
||||
EXPORT_ROOT=export/JSON
|
||||
|
||||
# 日志根目录
|
||||
LOG_ROOT=export/LOG
|
||||
|
||||
# 在线抓取 JSON 输出目录
|
||||
FETCH_ROOT=export/JSON
|
||||
|
||||
# 本地入库数据源目录(INGEST_ONLY 模式使用)
|
||||
INGEST_SOURCE_DIR=export/test-json-doc
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# 流水线配置
|
||||
# ------------------------------------------------------------------------------
|
||||
# 运行模式:FULL(抓取+入库)、FETCH_ONLY(仅抓取)、INGEST_ONLY(仅入库)
|
||||
PIPELINE_FLOW=FULL
|
||||
|
||||
# JSON 美化输出(调试用,会增加文件大小)
|
||||
WRITE_PRETTY_JSON=false
|
||||
|
||||
# 运行流程:FULL / FETCH_ONLY / INGEST_ONLY,config/env_parser.py -> pipeline.flow
|
||||
PIPELINE_FLOW=FULL
|
||||
# 指定任务列表(逗号分隔,覆盖默认),config/env_parser.py -> run.tasks
|
||||
# RUN_TASKS=INIT_ODS_SCHEMA,MANUAL_INGEST
|
||||
|
||||
# 固定回溯窗口(可选):同时设置 WINDOW_START + WINDOW_END,将覆盖游标/当前时间窗口
|
||||
# WINDOW_START=2025-07-01 00:00:00
|
||||
# WINDOW_END=2025-08-01 00:00:00
|
||||
|
||||
# 窗口/补偿参数,config/env_parser.py -> run.*
|
||||
# ------------------------------------------------------------------------------
|
||||
# 时间窗口配置
|
||||
# ------------------------------------------------------------------------------
|
||||
# 冗余窗口(秒),向前多抓取的时间避免边界数据丢失
|
||||
OVERLAP_SECONDS=120
|
||||
|
||||
# 忙时窗口大小(分钟)
|
||||
WINDOW_BUSY_MIN=30
|
||||
|
||||
# 闲时窗口大小(分钟)
|
||||
WINDOW_IDLE_MIN=180
|
||||
|
||||
# 闲时窗口定义(HH:MM 格式)
|
||||
IDLE_START=04:00
|
||||
IDLE_END=16:00
|
||||
|
||||
# 窗口切分单位(month/none),用于长时间回溯任务按月切分
|
||||
WINDOW_SPLIT_UNIT=month
|
||||
|
||||
# 窗口前后补偿小时数,用于捕获边界数据
|
||||
WINDOW_COMPENSATION_HOURS=2
|
||||
|
||||
# 允许空结果推进窗口
|
||||
ALLOW_EMPTY_RESULT_ADVANCE=true
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# 数据完整性检查配置
|
||||
# ------------------------------------------------------------------------------
|
||||
# 检查模式:history(历史全量)、recent(最近增量)
|
||||
INTEGRITY_MODE=history
|
||||
|
||||
# 历史检查起始日期(history 模式使用)
|
||||
INTEGRITY_HISTORY_START=2025-07-01
|
||||
|
||||
# 历史检查结束日期(留空表示到当前)
|
||||
INTEGRITY_HISTORY_END=
|
||||
|
||||
# 是否包含维度表校验
|
||||
INTEGRITY_INCLUDE_DIMENSIONS=true
|
||||
|
||||
# 发现丢失数据时是否自动补全
|
||||
INTEGRITY_AUTO_BACKFILL=true
|
||||
|
||||
# 自动执行完整性检查(ETL 完成后自动触发)
|
||||
INTEGRITY_AUTO_CHECK=false
|
||||
|
||||
# 指定要校验的 ODS 任务代码(逗号分隔,留空表示全部)
|
||||
# INTEGRITY_ODS_TASK_CODES=ODS_PAYMENT,ODS_MEMBER
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# 默认任务列表(逗号分隔,可被 CLI --tasks 参数覆盖)
|
||||
# ------------------------------------------------------------------------------
|
||||
# RUN_TASKS=ODS_PAYMENT,ODS_MEMBER,ODS_SETTLEMENT_RECORDS,DWD_LOAD_FROM_ODS
|
||||
Reference in New Issue
Block a user