kettle 教程(二):常用輸出(插入更新、表輸出、執行 SQL 指令碼)
上一篇 文章 ,主要講了 kettle 的原理、安裝及簡單的使用。其中用到了一種輸出方式:插入更新。
這篇文章,主要介紹下常用的輸出方式:插入更新、表輸出、執行 SQL 指令碼。
插入更新
插入更新,顧名思義,包括插入和更新兩種情況。
我們需要先設定一個條件,符合條件時,進行更新操作;否則,進行插入操作。常見的條件就是判斷表中的 ID 和流(上一個步驟的結果,可以理解為記憶體)中的 ID 是否相等,相等則更新;不等則插入。
我們再來回顧下上一篇文章中的例子。
整體流程為:
表輸入的設定及預覽:
插入更新的設定:
執行結果(user_copy 表資料):
執行後,user 表的資料被同步到 user_copy 表中,並且不管執行多少次,資料始終是那麼多。
這就是插入更新的特點,ID 一樣時,只會進行更新,不會再次插入。
表輸出
表輸出,就是單純地將資料輸出到另一個表。
我們來看這個例子。
整體流程為:
表輸入和上面的例子一致。
表輸出的設定:
執行結果(user_copy 表資料):
我們可以看到,執行結果和插入更新的一致。但是當我們第二次執行後,kettle 就會報錯,說主鍵已經存在。
這就表示表輸出只能輸出一次,如果目標表中已經存在相應的主鍵,則不會進行更新,會報錯。
如果我們修改下表輸出的設定,我們來指定下輸出欄位:
執行結果(user_copy 表資料):
我們可以看到,執行後 ID 由資料庫自動生成,並且可以執行多次不報錯,資料庫也會重複插入資料。
因此表輸出只是單純的輸出操作。
執行 SQL 指令碼
執行 SQL 指令碼,就是可以自定義一條 SQL 來執行。
我們來看這個例子。
整體流程為:
表輸入和上面的例子一致。
執行 SQL 指令碼的設定:
執行結果(user_copy 表資料):
我們可以看到,每取出一條資料,就執行了一次 SQL ,將資料插入目標表。執行多次後,就會插入多次資料。
執行 SQL 指令碼比較靈活,我們可以用來處理較為複雜的 SQL 。
總結
插入更新、表輸出、執行 SQL 指令碼是比較常見的輸出方式。
插入更新由於可以更新資料,用的比較多。
表輸出,容易插入重複資料,請慎用。
執行 SQL 指令碼則比較靈活,比如我們可以用它來儲存日誌、錯誤資訊等。
相關推薦
kettle 教程(二):常用輸出(插入更新、表輸出、執行 SQL 指令碼)
上一篇 文章 ,主要講了 kettle 的原理、安裝及簡單的使用。其中用到了一種輸出方式:插入更新。 這篇文章,主要介紹下常用的輸出方式:插入更新、表輸出、執行 SQL 指令碼。 插入更新 插入更新,顧名思義,包括插入和更新兩種情況。 我們需要先設定
Python+NLTK自然語言處理學習(二):常用方法(similar、common_contexts、generate)
一、similar 用來識別文章中和搜尋詞相似的詞語,可以用在搜尋引擎中的相關度識別功能中。 text1.similar("monstrous") 查詢出了text1中與monstrous相關的所有詞語: 二、common_contexts 用來識別2個
.Bat 檔案呼叫Sql指令碼 (也就是sqlplus執行sql指令碼)的注意點
今天用.Bat 檔案呼叫一個sql 指令碼,其中.Bat 及指令碼入校 sqlplus scott/[email protected] @E:\dy.sql >dy.txt exit; ---------------------------------
storm教程(二):Storm Topology元件和Storm資料來源和輸出選擇
Storm Topology元件 前面的章節已經提到過,Storm叢集中的任務稱之為Topology。 對比Hadoop中的MapReduce job,mapper用於從資料來源中獲取資料,經過簡單處理,以一定的格式傳遞給reducer,reducer負責後
Python(二)語法:輸入input()輸出print()
1.使用文字編輯器 在指定資料夾下新建helloword的文字,然後編寫如下內容,另存為.py結尾 print("Hello word!") 在當前檔案所在路徑下,進入命令列視窗 輸入python helloword.py 回車執行效果如下 2.使用互動模式編寫 命令
《崔慶才Python3網路爬蟲開發實戰教程》學習筆記(2):常用庫函式的安裝與配置
python的一大優勢就是庫函式極其豐富,網路爬蟲工具的開發使用也是藉助於這一優勢來完成的。那麼要想用Python3做網路爬蟲的開發需要那些庫函式的支援呢? 與網路爬蟲開發相關的庫大約有6種,分別為: 請求庫:requests,selenium,ChromeDrive
11. vSphere PowerCLI試用(二):常用命令
通過命令列來管理虛擬化平臺,可以將迴圈操作的任務變得簡單,如需要批量建立多臺虛擬機器時就可以使用命令列工具。 網路上有人整理的常用命令PDF表: PowerCLI常用命令列表: 1、Connect-VIServer – 連線虛擬化平臺 2、get-vmhost – 顯示ESXi主機列表 3、get-
Springfox Swagger2(二):常用註解
@ApiIgnore():用於類或者方法上,可以不被swagger顯示在頁面上 @Api():用於類表示標識這個類是swagger的資源 tags–表示說明 但是tags如果有多個值,會生成多個list value–也是說明,可以使用tags替代 (實際沒有作用
c++教程(二十三: Exceptions)
Exceptions(異常) Exceptions 異常提供了一種方法來對程式中的異常情況(如執行時錯誤)進行響應,將控制傳遞給稱為handlers處理器的特殊函式。 若要捕獲異常,則在異常檢查下放置一部分程式碼。這是通過在 try-block中封裝程式碼部
Linux 學習之路(二):常用命令之檔案與目錄管理
ls:顯示目標列表 -a 顯示所有檔案和目錄 -l 單列顯示詳細資訊 cd:切換工作目錄 cd 進入使用者主目錄 cd ~ 進入使用者主目錄
logback(二): 常用配置詳解
logback 常用配置詳解(二) <appender> <appender>: <appender>是<configuration>的子節點,是負責寫日誌的元件。 <appender>有兩個必要屬性nam
Windows Phone開發(10):常用控件(上)
androi chm att size near grid txt idt inf Windows Phone的控件有幾個來源,和傳統的桌面應用程序開發或Web開發一樣,有默認提供的控件和第三方開者發布的控件。一般而言,如果不是過於復雜的界面布局,使用默認控件就足矣。相比之
Linux基礎系列:常用命令(2)
用戶和組 查看 -- tdi 作業二 其他 配置文件 解鎖 gid 1 作業一: 2 1) 新建用戶natasha,uid為1000,gid為555,備註信息為“master” 3 groupadd -g 555 natasha 4 useradd -u
Linux基礎系列:常用命令(5)_nfs服務與nginx服務
ash .com access emctl 磁盤 keepalive roo inux iptable 介紹: NFS 是Network File System的縮寫,即網絡文件系統。一種使用於分散式文件系統的協定,由Sun公司開發,於1984年向外公布。功能是通過
IntelliJ IDEA(三) :常用快捷鍵
快捷 項目 層次 類的方法 line 去掉 直接 where 列表 轉載: 作者:JaJian 出處:http://www.cnblogs.com/jajian/ 說IDEA對新手來說難,可能其中一個原因就是快捷鍵組合多而且復雜但是它也很全,基本所有功能都可
IntelliJ IDEA(十) :常用操作
git 插入 AI 其他 truct 設置 提醒 鍵盤 AS IDEA功能詳細,快捷鍵繁多,但是實際開發時不是所有都能用上,如果我們熟悉一些常用的也足夠滿足我們日常開發了,多的也只是提高我們的B格。 1.自定義主題 IDEA默認的主題有三款,分別是IntelliJ,Da
微服務 SpringBoot 2.0(六):常用配置(properties、yml)
版本號 ria enable 序列化 資源 selector reference 一個 templates 約定優於配置,但配置不能為0 —— Java面試必修 引言 在前面的章節中,我們已經知道,SpringBoot的配置文件分為properties和yml,而我個人
史上最簡單的SpringCloud教程 | 第二篇: 服務消費者(rest+ribbon)
image tree 開啟 then rom cat learn 替代 官網 最新Finchley版本:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f2-ribbon/或者http://blog.csdn.n
Java數據結構和算法(三):常用排序算法與經典題型
bre 操作 五步 增量排序 計算 -- clu 冒泡 i+1 常用的八種排序算法 1.直接插入排序 我們經常會到這樣一類排序問題:把新的數據插入到已經排好的數據列中。將第一個數和第二個數排序,然後構成一個有序序列將第三個數插入進去,構成一個新的有序序列。對第四
Spring Boot + Spring Cloud 實現許可權管理系統 後端篇(二十):服務熔斷(Hystrix、Turbine)
線上演示 演示地址:http://139.196.87.48:9002/kitty 使用者名稱:admin 密碼:admin 雪崩效應 在微服務架構中,由於服務眾多,通常會涉及多個服務層級的呼叫,而一旦基礎服務發生故障,很可能會導致級聯故障,進而造成整個系統不可用,這種現象被稱為服務雪崩效應。服務雪崩