<?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/%E5%BA%94%E7%94%A8%E7%BB%84%E4%BB%B6/</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/%E5%BA%94%E7%94%A8%E7%BB%84%E4%BB%B6/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%BA%94%E7%94%A8%E7%BB%84%E4%BB%B6/DataX%E5%A2%9E%E9%87%8F%E6%8A%BD%E5%8F%96/</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%BA%94%E7%94%A8%E7%BB%84%E4%BB%B6/DataX%E5%A2%9E%E9%87%8F%E6%8A%BD%E5%8F%96/</guid>
      <description> 简介 # DataX 增量抽取通过目标数据库的最大 ID 或时间等条件，实现细粒度的数据同步。本功能适用于需要增量同步而非全量覆盖的场景。
增量方式对比 # 方式 适用场景 配置难度 标准方法 单表增量 ⭐ 数据集方式 复杂条件 ⭐⭐ 自定义方法 动态逻辑 ⭐⭐⭐ 使用方法 # 标准方法 # 在datax的数据同步设定中加入
##incColumn = 增量字段 ##incDB = 目标查询DB[默认为starrocks] 数据集方式 # 首先我们需在smartchart的数据集开发中新建一个查询sql 例如maxid, event_day对应的参数名 select max(id) as maxid, max(event_day) as event_day from targettablename 在DAG开发中将数据集ID当做参数传递即可,假设数据集ID为455 #datax jobname 455 -- 同步表 在抽取任务设定中, 查询SQL中将数据集的查询结果做为参数传递 select .... from xxxx where id &amp;gt; $maxid and event_day &amp;gt; &amp;#39;$event_day&amp;#39; 自定义方法 # 也可以自定义函数的方式来处理数据集的数据 def get_targettablename_id(): result = get_dataset(455)[&amp;#39;data&amp;#39;] maxid = result[1][0] event_day = result[1][1] return {&amp;#39;maxid&amp;#39;:maxid, &amp;#39;event_day&amp;#39;: event_day} 在DAG开发中将函数当做参数传递即可 #datax jobname get_targettablename_id -- 同步表 </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/%E5%BA%94%E7%94%A8%E7%BB%84%E4%BB%B6/%E6%8E%A5%E5%85%A5API%E6%95%B0%E6%8D%AE/</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%BA%94%E7%94%A8%E7%BB%84%E4%BB%B6/%E6%8E%A5%E5%85%A5API%E6%95%B0%E6%8D%AE/</guid>
      <description>简介 # SmartPip 支持通过 API 方式接入第三方数据源，定义标准 function 后即可在 DAG 中调用。本功能适用于需要从外部系统获取数据的场景。
接入流程速查 # 步骤 操作 1 定义 _get_api_data(param) 函数 2 在 API 设定中配置 ##apiConn=函数名 3 在 DAG 中使用 apistarrocks 驱动 定义接入标准function # 假设API的返回格式为: {&amp;#39;data&amp;#39;:[{&amp;#39;a&amp;#39;:1,&amp;#39;b&amp;#39;:2},..]} def _get_api_data(param): import json, requests param = json.loads(param) res = requests.post(url=url, json=param).json()[&amp;#39;data&amp;#39;] res = json.dumps(res).encode() return res 在api设定中 # ##apiConn=get_api_data ##param={ &amp;#34;p1&amp;#34;: xxx,&amp;#34;p2&amp;#34;:&amp;#34;xxxxx&amp;#34;} ##table= xxxx --目标表名 --------- 通用参数[可选] ---------- ##columns=a,b --------- Json格式[可选] ---------- ##format=json ##jsonpaths= a,b ##strip_outer_array=true 其它更多设定可以参考kafkastarrocks设定</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/%E5%BA%94%E7%94%A8%E7%BB%84%E4%BB%B6/flinkcdc%E5%AE%9E%E6%97%B6%E5%90%8C%E6%AD%A5/</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%BA%94%E7%94%A8%E7%BB%84%E4%BB%B6/flinkcdc%E5%AE%9E%E6%97%B6%E5%90%8C%E6%AD%A5/</guid>
      <description>简介 # FlinkCDC（Change Data Capture）是 SmartPip 提供的实时数据同步方案，支持数据库变更捕获、自动建表、结构变更感知等功能。通过配置 flinkcdc 驱动即可实现源库到目标库的实时同步。
FlinkCDC 特性速查 # 特性 说明 自动建表 自动在目标库创建与源库相同的表 结构变更感知 自动感知源表结构变化并同步 整库同步 支持一个任务同步整个数据库 批量路由 支持自定义表名映射和转换规则 同步任务说明 # 同步任务说明 # 全自动建表并能自动感知源表结构变化,自动变化 支持整库同步, 因此建议针对一个数据源只需启动一个任务即可 实时同步任务启动后, 定时任务为自动监控任务 如果修改任务后需在flink web中先取消任务后再可提交生效 简单的全库同步设定 # 比如源库为training, 则会自动在目标源建相同名称的库和表
##template = test_starrocks_flink ##name = test_starrocks2 ##tables = training.\.* ##config = 批量路由 # ##template = test_starrocks_flink ##name = test_starrocks2 ##tables = source_db.\.* ##config= route: - source-table: source_db.\.* sink-table: sink_db.&amp;lt;&amp;gt; replace-symbol: &amp;lt;&amp;gt; description: route all tables in source_db to sink_db 自定义路由或转化 # ##template = test_starrocks_flink ##name = test_starrocks2 ##tables = adb.</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/%E5%BA%94%E7%94%A8%E7%BB%84%E4%BB%B6/%E6%B6%88%E6%81%AF%E5%8F%91%E9%80%81/</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%BA%94%E7%94%A8%E7%BB%84%E4%BB%B6/%E6%B6%88%E6%81%AF%E5%8F%91%E9%80%81/</guid>
      <description> 简介 # SmartPip 支持在 DAG 任务中发送邮件或企业微信消息通知，支持固定内容和动态数据两种方式。适用于任务执行完成后的结果通知。
消息发送方式对比 # 方式 驱动 适用场景 邮件 #send_mail 正式报告、详细数据 企微 #diy + 数据集 实时告警、简短通知 使用说明 # 固定内容发送 # msg = [&amp;#39;报表刷新成功&amp;#39;, &amp;#39;&amp;lt;h1&amp;gt;刷新成功!!&amp;lt;/h1&amp;gt;&amp;#39;] maillist = &amp;#39;xxx@smartchart.cn&amp;#39; #send_mail reportmail msg maillist 动态获取数据发送 # maillist = &amp;#39;xxx@smartchart.cn,abc@xxx.cn&amp;#39; def fun_msg(): result = get_dataset(123)[&amp;#39;data&amp;#39;] msg = f&amp;#39;&amp;lt;h3&amp;gt;尊敬的领导:&amp;lt;/h3&amp;gt;&amp;lt;p style=&amp;#34;text-indent:20px&amp;#34;&amp;gt;当前销售额:{result[1][0]}&amp;lt;/p&amp;gt;&amp;#39; title = &amp;#39;销售额监控&amp;#39; return title, msg #send_mail reportmail fun_msg maillist 发送企微消息 # 在smartchart中新建一个企微数据源
新建一个数据集并使用qiweiMsg这个数据源, 按照企微消息发送文档填写, 记下数据集ID如 12
{ &amp;#34;touser&amp;#34; : &amp;#34;1359xxxxx&amp;#34;, -- &amp;#34;totag&amp;#34; : &amp;#34;4&amp;#34;, &amp;#34;msgtype&amp;#34; : &amp;#34;text&amp;#34;, &amp;#34;agentid&amp;#34; : xxxxxxx, &amp;#34;text&amp;#34; : { &amp;#34;content&amp;#34; : &amp;#34;$msg&amp;#34; }, &amp;#34;safe&amp;#34;:0} 在DAG中可以使用通过自定义任务来进行企微发送 def notice_content(): return get_dataset(12, param={&amp;#39;msg&amp;#39;:&amp;#39;hello world&amp;#39;}) #diy qiwei_notice notice_content </description>
    </item>
    
  </channel>
</rss>
