30天學會Data Integration - Kettle系列 第 12 篇 - Step - 讀取資料庫

 此篇要介紹讀取資料來源最常用到的Step,當然就是[Input]Table input了,另外[Big Data]中也提供Hadoop與MongoDB的資料讀取,有興趣的人可以自己摸索看看XD,切入正題,開始來進行操作囉!

準備資料

以下使用SQL Server 2014示範,先建立資料表






建資料,方便等一下讀取



新增Table input

與前兩篇相似,一樣是新增Transformation,然後從左邊的Design頁籤找到位於Input資料夾的Table input,然後拖曳到主要編輯區,在這邊教大家一個小技巧,就是可以在Steps旁邊的輸入框打上關鍵字,就可以方便我們在茫茫大海中快速尋找到我們需要的Steps



設定Table input 資料庫連線

於Table input點兩下開啟設定畫面,首先我們要先建立資料庫連線,所以請按下New按鈕



接著需要命名這個連線的名稱,以及是哪一種資料庫、存取方式與輸入連線的資訊,其中的資料庫類型有非常多種,包含常見的MySQL和Oracle,因為太多不方便擷圖,有興趣的人可以稍微瀏覽一下



以上動做完成之後,請按下Test按鈕,來測試連線是否正常,如果看到以下畫面,就代表設定成功,可以按下上圖的OK按鈕來關閉設定畫面



但如果你看到的以下的畫面



別擔心,這個問題我自己也遇過N遍,今年我裝了5台電腦,有3台都有這個錯誤訊息,但實際造成此錯誤的原因,我也不知道為什麼!但是呢!這個問題是可以自行排除的,請下載jtds的jar檔,解壓縮之後請將jtds-1.3.1.jar放到\data-integration\lib與Program Files\Java\jdk1.8.0_65\jre\lib這兩個資料夾下面,關閉Kettle再重新開啟,就可以正常使用囉!
下載網址:https://sourceforge.net/projects/jtds/files/

設定Table input

開始指定要讀取資料庫中的哪張table,可以直接下SQL



或者按Get SQL select statement按鈕來選擇要讀取的table,右上方的Actions的選單可以協助我們進行資料的瀏覽,選擇完成之後按下OK



Kettle會自動詢問是否要在SQL指令中加入欄位名稱,如果不要的話,SQL就是自動被代入下圖左上角的樣子:Select * FROM people



如果按是,SQL指令就會包含欄位名稱囉!



最後按下Preview,就會取得table中的資料了




以上大家了解CSV、Excel與資料庫的讀取方式了嗎?接下來的Steps介紹將開始著重於資料分析

留言

這個網誌中的熱門文章

CPE 一顆星選集題目說明與解答 - Java 筆記與心得分享

Visual Studio 自動排版格式化程式碼

1. Vito's family (CPE10406, UVA10041) - CPE一顆星解答與說明