1. 程式人生 > >kettle 教程(二):常用輸出(插入更新、表輸出、執行 SQL 指令碼)

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自然語言處理學習常用方法similarcommon_contextsgenerate

一、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常用配置(propertiesyml)

版本號 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 實現許可權管理系統 後端篇服務熔斷HystrixTurbine

線上演示 演示地址:http://139.196.87.48:9002/kitty 使用者名稱:admin 密碼:admin 雪崩效應 在微服務架構中,由於服務眾多,通常會涉及多個服務層級的呼叫,而一旦基礎服務發生故障,很可能會導致級聯故障,進而造成整個系統不可用,這種現象被稱為服務雪崩效應。服務雪崩