You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何确定HPCC集群中作业提交的来源?

确定HPCC作业提交来源的方法

1. 自定义Workunit元数据标记

HPCC原生Workunit没有提交来源属性,但可以通过自定义字段主动标记:

  • 手动提交(ECL IDE/ECL Watch):提交作业时手动添加SubmitSource属性,值设为Manual/IDE/Watch
  • 外部cron任务:在提交脚本中用ecl submit --attribute SubmitSource=CronJob your_job.ecl命令注入标记
  • 动态ECL提交:通过ESP REST API提交时,在请求体的attributes字段加入SubmitSource=DynamicECL
  • 目录触发提交:在文件监听触发脚本里,给提交的作业添加SubmitSource=DirectoryTrigger属性

2. 结合日志与Workunit字段分析

  • 查看thor.log或roxie.log:日志会记录作业提交的上下文,比如cron任务的脚本路径、目录触发的文件路径
  • 关联Owner字段:cron提交的作业Owner通常是执行脚本的系统用户,手动提交则对应ECL Watch/IDE的登录用户

3. 审计日志提取上下文

HPCC的Audit数据集(可通过STD.System.Audit.AuditList查询)记录了作业提交的详细信息:

  • 提交请求的来源IP
  • 客户端类型标识(比如ECL IDE、ESP API)
  • 可以将审计日志与Workunit的WUID关联,反推提交来源

动态构建数据-代码关联矩阵的建议

1. 嵌入代码元数据

在ECL代码中通过注释标记文件类型,方便后续扫描提取:

// @InputType: SourceFile
// @FilePath: /raw/source/user_data.csv
SourceData := DATASET('/raw/source/user_data.csv', RECORDSTRUCT(...));

// @OutputType: BaseFile
// @FilePath: /base/final/user_profile.ds
FinalBase := OUTPUT(CleanedData, '/base/final/user_profile.ds', ...);

用Python/Perl脚本或HPCC自带的ECL解析工具扫描代码,提取这些标记信息。

2. 自动关联作业与文件依赖

  • 用STD.System.Workunit.WorkunitFiles获取每个Workunit的输入输出文件列表,结合SubmitSource属性关联提交方式
  • 调度类作业可通过STD.System.Schedule.ScheduleList获取调度频率、触发规则等信息,补充到矩阵中

3. 输出方案选择

  • PowerBI报表:将采集到的元数据、文件依赖、调度信息导入PowerBI,建立数据模型,通过可视化图表展示数据生命周期链路、作业分布
  • 网页展示:基于HPCC ESP API搭建轻量Web服务,实时查询并展示矩阵数据,支持按产品、作业类型、文件类型筛选

4. 持续维护机制

  • 开发定时作业(每日/每周)自动采集最新Workunit、审计日志、文件元数据,更新矩阵
  • 制定规范,要求新作业提交必须添加SubmitSource和文件类型标记,保障数据完整性

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 13:50:40