kettle中转换和作业的执行顺序:

    1、一个作业内的转换,是顺序执行的。
    2、一个转换内的步骤是并行执行的。
    3、作业内不支持事务,转换内支持事务。
根据业务需要,通常需要在转换内顺序执行,小技巧如下:
    1、执行SQL是优先于所有步骤。
    2、使用“阻塞数据直到步骤都完成”,确保其他数据步骤都完成再进行下一步骤。
事务:
    1、设置转换只使用一个事务。转换设置-->夹项-->使用唯一连接。
    2、设置转换内的表插入等数据库的操作不进行批量提交。"提交记录数量"-->0
 
 
 
 
excel  输出使用模版踩坑
首先 kettle 有两个excel控件,“Excel输出 ”    和  "Microsoft Excel 输出"
Excel输出 这个控件比较 简单,支持的功能也少,注意,使用模版时,貌似不支持 xlsx ,否则会报错,xls的模版必须是创建时就是xls格式的,不能是 xlsx 后缀修改的
配置如下:
  
 
 
1、不输出头 使用模版中的
2、编码 自行选择,
3、工作表名称,必须和模版中一样,
4、追加excel 模版,
5、模版中有ABCD 4个标签页,如果第一个输出的是C的内容,会直接输出到A上,
"Microsoft Excel 输出"  配置如下,
 
 
1、如果文件已存在,这个选项要好好理解,如果多个转换输出到一个excel的多个sheet页签中,选"使用现有文件输出",
2、工作表名要和模版中 你要输出的 sheet的页签的名字保持一致
3、如果输出文件中已存在工作表,因为要使用模版,所以肯定要选择"输出至已存在的工作表中"
4、使用模版创建新文件
5、模版文件路径
6、开始输出自单元格   即模版表头下一行最左测的单元格的位置
7、输出表头,因为使用模版所以 这个不能勾选
8、其他自行摸索
 
 
 邮件发送多个附件:
1、一共五个附件,三个收件人,其中一个收三个附件,附件是之前的转换生成的,名称加日期,每天一份,比如fuJian-2019-11-19.xls,fuJian-2019-11-18.xls,当天邮件只能发当天的附件,
2、kettle的邮件空间里,选附件是可以选目录的,同时可以加通配符,问题在于 通配符 添加系统变量没有测试成功,日期是变量,输出excel 的目录有其他地区,其他日期的文件,所以发送三个附件那个邮件,要过滤地区及该地区的不同日期,
3、通配符 添加系统变量没有测试成功,只能想其他解决方案,
  3.1、在输出目录新建子目录,A
  3.2、三个附件一起发的,三个附件都输出到A目录,
  3.3、job里有删除多个文件的控件,每次job执行时,首先删掉A目录下的所有文件,然后该job的后续 转换会生成当天最新的附件excle文件,发送邮件时,发送A目录下所有的文件
  3.4、避免过期的excle大量堆积
 
 
有个报错,记录下:
.../kettle/data-integration/spoon.sh:行226: /opt/java/jdk1.8.0_171/bin//opt/java/jdk1.8.0_171/bin/java: 没有那个文件或目录
 
 
 
#淡定戒骄戒躁淡定#

Kettle 事务、转换内顺序、excel模版、使用踩坑的更多相关文章

  1. Gradle AndroidStudio内网离线构建配置踩坑记录

    最近一家新公司,由于办公环境都是在内网机上,导致在Unity导出android工程后,gradle离线构建也是第一次搞,花了一天时间也踩了一些坑,最后也终于构建成功了,这里记录下,方便大家少走些弯路. ...

  2. 关于Kettle的事务和转换内步骤的顺序执行

    关于Kettle的事务和转换内步骤的顺序执行 近来有项目中遇到Kettle事务处理和转换内步骤顺序执行的问题.为此进行了研究,找到了一个解决办法. 在Kettle中,一个Job内的转换,缺省是顺序执行 ...

  3. ado.net excel 模版

    ado.net excel 模版 private static void Excute()        {            while (true)            {          ...

  4. ExcelToHtmlTable转换算法:将Excel转换成Html表格并展示(项目源码+详细注释+项目截图)

    功能概述 Excel2HtmlTable的主要功能就是把Excel的内容以表格的方式,展现在页面中.Excel的多个Sheet对应页面的多个Tab选项卡.转换算法的难点在于,如何处理行列合并,将Exc ...

  5. [poi使用]使用excel模版导出excel

    ​ Apache POI是基于Office Open XML标准(OOXML)和Microsoft的OLE 2复合文档格式(OLE2)处理各种文件格式的开源项目.简而言之,您可以使用Java读写MS ...

  6. 魔改——MFC SDI 支持 内嵌 EXCEL OLE

    ==================================声明================================== 本文版权归作者所有 未经作者授权 请勿转载 保留法律追究的 ...

  7. C#巧用Excel模版变成把Table打印出来

    将一个做好的Excel模版,通过程序填上数据然后打印出来这个需求有两种方法一种是通过代码打开Excel模版然后填入数据然后再打印. 第二种方法就是我将要介绍的 1.将Excel设置好格式另存为HTML ...

  8. JAVA实现Excel导出数据(以写好的Excel模版导出)

    工作中经常会有将后台数据以Excel导出的功能. 简单的方法有将response的contentType设置为application/vnd.ms-excel: 或在JSP页面直接设置成: <% ...

  9. POI3.10 根据Excel模版导出数据测试

    1:所需jar包 2:Mysql数据库表内容如下: 3:代码结构如下: (1)User.java public class User { private int id; private String ...

随机推荐

  1. Find Duplicate File in System

    Given a list of directory info including directory path, and all the files with contents in this dir ...

  2. 【Python】【demo实验5】【练习实例】【多个数字组合成不重复三位数】

    题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序源代码 ...

  3. 对CSRF(跨站请求伪造)的理解

    一.什么是CSRF? CSRF是Cross Site Request Forgery的缩写,翻译过来就是跨站请求伪造.那么什么是跨站请求伪造呢?让我一个词一个词的解释: 1.跨站:顾名思义,就是从一个 ...

  4. OVS+Docker

    两台机器操作一样就是IP不同但是设置都是相同的: A机器:192.168.71.142 docker0:172.17.42.1 B机器:192.168.71.136 docker0:172.17.43 ...

  5. peewee无外键连接

    # 参考:https://blog.csdn.net/weixin_34273479/article/details/87587183 res = Name.select(Name, User.xxx ...

  6. bat 将war文件转换成ear文件

    1.无需拷贝war文件,自动获取war set path=%path%;D:\jdk\jdk1.6.0_31\bin;C:\Program Files\7-Zip del **0001-control ...

  7. 一、maven学习

    1.下载(maven 自带Tomcat   命令tomcat:run) 2.配置环境变量(cmd测试   mvn -v) 3.配置config 4.命令 mvn clean (删除target目录) ...

  8. NSIS逻辑函数头文件介绍

    !include "LogicLib.nsh"使用 NSIS 的宏来提供各种逻辑基本语句,不需要预先添加函数. 基本语句 If|Unless..{ElseIf|ElseUnless ...

  9. mqtt协议实现 java服务端推送功能(三)项目中给多个用户推送功能

    接着上一篇说,上一篇的TOPIC是写死的,然而在实际项目中要给不同用户 也就是不同的topic进行推送 所以要写活 package com.fh.controller.information.push ...

  10. SSM框架中的Mapper.xml文件中的增、删、改、查等操作

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...