Talend 从Excel导入Saleforce数据(二) TMAP是精髓
TMap LookUp 经过测试的结果:
------------------------------------------
LookUp最好从CSV读数据,这样是最快了(20万记录1s).从SalesForce读数据是最慢的.(每条记录2s, 如果要跟SalesForce打交道,最好用V-P-N, 速度和稳定性都好10倍)
CSV文件是定时从Salesforce导出,20万记录可能要半个小时.(大陆访问SF实在是慢,2017年后有改善)
所以要根据你导入文件的行数,来决定是否从CSV还是SalesForce读数据来LookUp,
比如你只有100条记录,从SalesForce读数据只要200s,比重新导一次CSV还是合算的.
超过1000条记录,还是重新导一次CSV吧.
-------------------------------------------
Talend的Processing Component里的TMap, 我是觉得是最常用的组件.
因为你导入的数据,总要和系统现有的数据做对比,是新增还是修改,然后还得做一下数据变换,再导入到系统.
TMap默认有一个主连接(Main Input),一个LookUp连接(也可以改成多个LookUp), 默认一个Output连接(可以改成多个Output).


默认的Join Model是Left Outer Join, 指的是主连接 Left Join LookUp连接.
以这个例子就是ftp left outer join contact. 也就是说ftp的数据假如在contact里找不到,也会在output连接输出. 类似于SQL的左连接.
这个例子连接条件就是ftp的数据和contact的数据的手机号码相同的,视为同一笔数据
--------------------------------------------------------------------------------------------
我们用TMap,通常要把Main Input的数据在LookUp连接里查找,分成2个output, 一个是已存在的数据(通常需要更新), 另外一个是不存在的数据(通常需要新增).
我们有2种方法来做,
//第1种是官方文档推荐的用Inner Join
Inner Join, 通常要2个output, 也就是一个output的capture lookup inner join reject为true, 一个output的capture lookup inner join reject为false,
false的output就是在Main Input和Lookup 都存在的记录. 也就是系统已经存在的记录了.
true的output就是在Lookup 不存在的记录. 也就是要新增的记录了.

----------------------------------------------------------------------------
//第2种是Left Outer Join 加过滤条件
Left outer Join, 2个output, 也能做到上面capture lookup inner join reject的效果.
2个output的property都保持默认的, 都加上contact的Id字段, 然后加过滤器contact.Id==null 和contact.Id!=null


或者1个output 加过滤器contact.Id!=null, 另一个output的property设定Catch output reject=true. 是一样的效果


Talend 从Excel导入Saleforce数据(二) TMAP是精髓的更多相关文章
- Talend 从Excel导入Saleforce数据(一)  直接从salesforce lookup 性能的噩梦
		速度的瓶颈是在查询Sales force是否有该电话号码的联系人资料. TMap属性的 lookup Model, 如果用Load Once, 则会把SaleForce的contact全部load下来 ... 
- [办公自动化] 再读《让EXCEL飞》(从excel导入access数据时,union联合查询,数据源中没有包含可见的表格)
		一年多以前就买了@Mrexcel的<让excel飞>这本书.整体思路是利用access结合excel,大幅度提高数据分析效率. 最近又拿出来看了看.第十五章,比高级筛选更“高级”,P241 ... 
- Java Excel 导入导出(二)
		本文主要叙述定制导入模板——利用XML解析技术,确定模板样式. 1.确定模板列 2.定义标题(合并单元格) 3.定义列名 4.定义数据区域单元格样式 引入jar包: 一.预期格式类型 二.XML模板格 ... 
- 工作日志,Excel导入树结构数据
		目录 1. 前言 2. 需求分析 2.1 需求难点 2.2 解决难点 2.3 表格设计 3. 功能实现 3.1 一个分枝 3.2 一个分枝多个树叶 3.3 多个分枝多个树叶 4. 代码事例 4.1 目 ... 
- PHP 清除 Excel 导入的数据空格
		处理excel中的数据时,遇到了页面中显示为空格,审查元素时却显示为换行,使用replace函数也不管用,反正就是不知道是什么东西,看起来像空格 中文空格这里面有好几种:没有简单的解决问题的方式,比如 ... 
- excel导入mysql数据
		excel加载mysql数据 1.第一步,选择从mysql导入数据 2.单击会出现弹框: 3.可能有的同学的,这里缺少插件,例如: 4.去下载 这个 插件安装即可.https://dev.mysql. ... 
- 将Excel导入到数据中
		常用的方式的有两种: 1. 通过 Microsoft.Jet.OLEDB.4.0 或 Microsoft.ACE.OLEDB.12.0 Microsoft.ACE.OLEDB.12.0 需要安装 A ... 
- JeeSite中Excel导入导出
		在各种管理系统中,数据的导入导出是经常用到的功能,通常导入导出以Excel.CSV格式居多.如果是学习的过程中,最好是自己实现数据导入与导出的功能,然而在项目中,还是调用现成的功能比较好.近期一直使用 ... 
- java利用jxl实现Excel导入功能
		本次项目实践基于Spring+SpringMvc+MyBatis框架,简单实现了Excel模板导出.和Excel批量导入的功能.实现过程如下:. 1.maven导入所需jar包 <depende ... 
随机推荐
- Addition Chains
			题目描述: 一个与 n 有关的整数加成序列 < a0 , a1 , a2 ...am> 满足一下四个条件: 1.a0=1 2.am=n 3.a0<a1<a2<...< ... 
- js_提示是否删除小案例
			<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ... 
- .NET Core 管道
			从用户发请求到服务器响应返回数据 请求从 Request进去 先经过 Middleware(中间件) 然后经过AuthoriationFilters授权验证(token验证和 多租户验证) 在经 ... 
- cocos2dx 如何获得节点的类型
			1. 需求:在所有子节点中得到是ui::Text类型的节点,并对其进行操作. 2. 解决方案:在根节点Node中有一个如下的函数: /** * Gets the description string. ... 
- Python全栈开发-Day2-Python基础2
			本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ... 
- 第 3 章 镜像 - 017 - RUN vs CMD vs ENTRYPOINT
			RUN.CMD 和 ENTRYPOINT 这三个 Dockerfile 指令看上去很类似,很容易混淆. 简单的说: RUN 执行命令并创建新的镜像层,RUN 经常用于安装软件包. CMD 设置容器启动 ... 
- Inception网络
			2018-12-09 19:39:38 一.1 * 1卷积 pooling可以对feature map的height,width进行修改,但是对通道数目无法修改. 1 * 1卷积可以在不改变图像大小的 ... 
- Windows Updateエラー 80072EE2
			遗憾的是,下面的做完了,还是没用! 然后有试了把防火墙打开(原来是关闭),IE的代理也是手动入力(原来是自动寻找). 竟然成了. Windows ファイアウォールはこのバージョンの Windows に ... 
- LeetCode--232--用栈实现队列
			问题描述: 使用栈实现队列的下列操作: push(x) -- 将一个元素放入队列的尾部. pop() -- 从队列首部移除元素. peek() -- 返回队列首部的元素. empty() -- 返回队 ... 
- RFBnet论文笔记
			论文:Receptive Field Block Net for Accurate and Fast Object Detection 论文链接:https://arxiv.org/abs/1711. ... 
