<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Smartchart开发手册</title>
    <link>https://help.smartchart.cn/docs/12.%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%8F%B0/smartpip/</link>
    <description>Recent content on Smartchart开发手册</description>
    <generator>Hugo -- gohugo.io</generator><atom:link href="https://help.smartchart.cn/docs/12.%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%8F%B0/smartpip/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title></title>
      <link>https://help.smartchart.cn/docs/12.%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%8F%B0/smartpip/%E5%9F%BA%E7%A1%80%E6%93%8D%E4%BD%9C/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://help.smartchart.cn/docs/12.%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%8F%B0/smartpip/%E5%9F%BA%E7%A1%80%E6%93%8D%E4%BD%9C/</guid>
      <description>简介 # SmartPip 提供可视化的 DAG 任务配置界面，支持拖拽式任务编排、Cron 定时调度、任务依赖管理等功能。本章节介绍任务配置的基础操作方法。
核心概念速查 # 概念 说明 DAG 有向无环图，定义任务之间的依赖关系 JOB 任务节点，执行具体的驱动任务 Cron 定时表达式，定义任务执行时间 Trigger 触发规则，控制任务何时执行 配置方法 # 在数据中台 &amp;ndash;&amp;gt; 任务计划 中新建DAG任务, 保存 在任务列表中点击左边的编辑,可以进行开发界面 点击菜单的驱动即可 双击配置行第一列, 即可打开详细配置 定时设定方法 # 一、Cron表达式的结构 Cron表达式通常由6至7个字段组成，每个字段之间用空格分隔，依次表示： 秒（0~59） 分（0~59） 时（0~23） 日期（1~31，但需要考虑月份的天数） 月份（112或JANDEC） 星期（17或SUNSAT，1=SUN） 年份（可选，1970~2099，或留空） 二、Cron表达式的特殊字符 Cron表达式中的每个字段都可以使用以下特殊字符来指定时间规则： *：表示匹配该字段的任意值。例如，在分钟字段使用“*”，表示每分钟都触发任务。 ?：只能用在日期（DayofMonth）和星期（DayOfWeek）两个字段中，表示不指定值。因为日期和星期字段会相互影响，所以当其中一个字段被指定了值时，另一个字段的值应设为“?”。 -：表示范围。例如，在小时字段使用“9-17”，表示从早上9点到下午5点之间每小时都触发任务。 /：表示起始时间开始触发，然后每隔固定时间触发一次。例如，在分钟字段使用“0/15”，表示从0分钟开始，每15分钟触发一次任务。 ,：表示列出枚举值。例如，在分钟字段使用“5,20”，表示在5分钟和20分钟时触发任务。 L：表示最后，只能出现在日期（DayofMonth）和星期（DayOfWeek）字段中。在日期字段中，“L”表示月份的最后一天；在星期字段中，“L”表示星期的最后一天（即SAT），但也可以和数字联合使用，表示月份的最后一个星期几，如“6L”表示月份的最后一个星期五。 W：表示有效工作日（周一到周五），只能出现在日期（DayofMonth）字段中。系统将在离指定日期的最近的有效工作日触发事件。例如，“15W”表示离每月15日最近的工作日触发任务。注意，“W”的最近寻找不会跨过月份。 LW：表示在某个月最后一个工作日触发任务，即最后一个星期五。 #：用于确定每个月第几个星期几，只能出现在日期（DayofMonth）字段中。例如，“4#2”表示某月的第二个星期三。 三、Cron表达式的示例 以下是一些常见的Cron表达式及其含义： 0 0 12 ? * WED：表示每个星期三中午12点执行任务。 0 15 10 ? * MON-FRI：表示周一到周五每天上午10:15执行任务。 0 0 2 1 * ?</description>
    </item>
    
    <item>
      <title></title>
      <link>https://help.smartchart.cn/docs/12.%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%8F%B0/smartpip/DAG%E8%AE%BE%E5%AE%9A%E6%96%B9%E6%B3%95/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://help.smartchart.cn/docs/12.%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%8F%B0/smartpip/DAG%E8%AE%BE%E5%AE%9A%E6%96%B9%E6%B3%95/</guid>
      <description>简介 # DAG（Directed Acyclic Graph，有向无环图）是 SmartPip 的核心概念，用于定义数据管道的任务编排。通过 DAG 设定，可以灵活定义任务之间的执行顺序、依赖关系和触发规则。
DAG 语法速查 # # 任务定义 #驱动名 任务名 参数 --备注 # DAG 分隔符（4个以上/） //// # 依赖关系 任务A &amp;gt;&amp;gt; 任务B &amp;gt;&amp;gt; 任务C # 串行依赖 [任务A, 任务B] &amp;gt;&amp;gt; 任务C # 并行依赖 自定义参数方法 # -- 当前时间 report_time = datetime.datetime.now() -- 当前时间,往后推一天, 也可以小时(hours), 分钟(minutes), 秒(seconds)... report_time = datetime.datetime.now()- datetime.timedelta(days=1) -- 获取上个月最后一天 report_time = datetime.datetime.now().replace(day=1) - datetime.timedelta(days=1) -- 格式化字符串时间:(%Y-%m-%d %H:%M:%S): 2015-03-08 23:30:42 ZYMD= report_time.strftime(&amp;#39;%Y%m%d&amp;#39;) -- 也可以采用格式化参数f&amp;#34;xxxxxx&amp;#34;,变量用{}包裹 PARAM=f&amp;#34;where create_time &amp;gt;= &amp;#39;{ZYMD}&amp;#39; &amp;#34; 设定方法 # -- 每一个JOB为一个节点,填写驱动名称和要执行的任务名 -- 任务名不能使用数字开头如00xxx, 不可以使用非法字符, 不可使用符号如(.</description>
    </item>
    
    <item>
      <title></title>
      <link>https://help.smartchart.cn/docs/12.%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%8F%B0/smartpip/DAG%E8%AE%BE%E5%AE%9A%E6%A0%B7%E5%88%97/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://help.smartchart.cn/docs/12.%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%8F%B0/smartpip/DAG%E8%AE%BE%E5%AE%9A%E6%A0%B7%E5%88%97/</guid>
      <description>简介 # 本章节提供完整的 DAG 设定样例，展示任务编排、依赖关系、定时调度的实际用法。样例涵盖常见的数据抽取、转换、加载场景。
依赖关系符号速查 # 符号 含义 示例 &amp;gt;&amp;gt; 依赖下游 t1 &amp;gt;&amp;gt; t2 (t2 依赖 t1) &amp;lt;&amp;lt; 依赖上游 t2 &amp;lt;&amp;lt; t1 (t2 依赖 t1) [] 并行执行 [t1, t2] &amp;gt;&amp;gt; t3 一个完整的sample # &amp;#34;&amp;#34;&amp;#34;获取变量,以下为python语法(option)&amp;#34;&amp;#34;&amp;#34; P_DAYS = 12 MSG = &amp;#39;xxxx&amp;#39; report_time = datetime.datetime.now()- datetime.timedelta(days=int(P_DAYS)) P_START_ZYM= report_time.strftime(&amp;#39;%Y%m&amp;#39;) -- 以下为JOB专署语法 #link lastdag 30 3600 --每30秒轮询前置任务,超时1小时 #impala_sql sqlfile1 --执行impala #hive_sql sqlfile2 --执行hive #dataset checkinfo 321 --数据查询,校验 -- #sp sp1 report_time,MSG --执行SP,传入参数 #ktr myktr P_START_ZYM --执行kettle ktr, 传入参数 #kjb mykjb P_START_ZYM -- #kjb abc --当此job暂时不要时,可--注释 -- 分层标记,可折叠 //: #datax jobabc --备注 #datax jobabc --备注 ////////////// -- 任务链路 lastdag &amp;gt;&amp;gt; sqlfile1 &amp;gt;&amp;gt; \ validate &amp;gt;&amp;gt; sp1 &amp;gt;&amp;gt; [myktr, mykjb] lastdag &amp;gt;&amp;gt; sqlfile2 任务依赖设定关系说明 # 在任务调度或工作流管理系统中，设置任务之间的依赖关系是非常常见的操作。这些依赖关系决定了任务执行的顺序，即一个任务（上游任务）成功完成后，才能开始执行依赖于它的任务（下游任务）。下面是对上述代码段中提到的概念和操作的解释：</description>
    </item>
    
  </channel>
</rss>
