iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 10
0
Big Data

30天學會Data Integration - Kettle系列 第 10

Step - 讀取CSV檔案

目前對於Transformation應該有基本的認識了,後續的文章會開始介紹我自己常使用的Steps,如何設計Steps與進行資料分析與整合就是重頭戲了,歡迎大家一起操作,有問題歡迎一起討論喔!

在[Steps與Hops基本操作]篇,已經介紹了[Flow]Dummy,接著要來認識這幾天在預設範例出現率很高的[Input]CSV file input,[ ]裡面的文字是代表這個Step是屬於哪個資料夾,今天就透過CSV file input來了解一下所謂ETL(Extract-Transform-Load)中的Extract(萃取),在做資料整合之前,一定是要有資料來源我們才能做處理,所以Input資料夾中有支援讀取很多各式各樣的檔案格式,讓我們方便輕鬆的把不同檔案格式的資料匯入(萃取)Transformation中,並調整成同一種格式來呈現資料(也就是Kettle的命名由來,希望資料跟水壺一樣,將各種資料倒入壺中,最後以一種格式倒出),所以無論是讀取哪種檔案格式,在後續的Steps設計中,都不需要再做其它的設定。

先來瀏覽一下Transformation提供的Input資料夾有哪些Steps,提供了非常非常多,我自己經常使用到的是Table Input與Microsoft Excel Input,後續會介紹到
http://ithelp.ithome.com.tw/upload/images/20161225/20091626YGKTb6QVMJ.png

接著就開始今天的重點囉!

  1. CSV file input介紹
  2. 新增CSV file input
  3. 準備要讀取的檔案
  4. 設定CSV file input

CSV file input介紹

此Step提供讀取含有分隔符號的檔案,這邊的分隔服號可以是自己的需求而定,可以是分號、逗號或者是空白。此預設範例(CSV Input - Reading customer data.ktr)所讀取檔案(customers-100.txt)中就是使用;號來區隔資料
http://ithelp.ithome.com.tw/upload/images/20161225/20091626zVGVfruqJp.png

新增CSV file input

首先先增新一個Transformation,並且切換到Design頁籤,選擇Input資料夾下的CSV file input,點選之後使用滑鼠左鍵拖曳到我們的主要編輯區中,不熟的人可以在複習一下[Steps與Hops基本操作]篇,完成之後請儲存Transformation
http://ithelp.ithome.com.tw/upload/images/20161225/20091626VLPHUtSXOW.png

準備要讀取的檔案

這邊的檔案可能是別人提供給你的,但此篇我們就自己動手做一份資料吧!你可以自行定義要分隔的符號,下圖是以,號區隔
http://ithelp.ithome.com.tw/upload/images/20161225/20091626voFbvkwh9f.png

設定CSV file input

使用滑鼠左鍵雙擊CSV file input,會出現設定視窗,或是在CSV file input上按右鍵選擇Edit也可以
http://ithelp.ithome.com.tw/upload/images/20161225/20091626EGTH0MxaGw.png

1.先選取要讀取的檔案
2.設定檔案中使用的分隔符號
3.按下Get Fields會進行掃描,取得並加入第一列的欄位名稱,此時會發現下面竟然有亂碼...
http://ithelp.ithome.com.tw/upload/images/20161225/20091626BRXlFENv2Y.png

莫急莫慌,變更一下編碼的方式,選擇檔案所使用的編碼方式,然後再按下Get Fields,就一切正常了,我們可以觀察到下面的欄位連資料型態都幫我們定義好了,十分的聰明!
http://ithelp.ithome.com.tw/upload/images/20161225/20091626vXm6omwLOw.png

如果想要調整資料型態也是可以的喔
http://ithelp.ithome.com.tw/upload/images/20161225/20091626Brk3gHmN32.png

接著按下Preview按鈕就可以預覽取得的資料
http://ithelp.ithome.com.tw/upload/images/20161225/20091626AGWcXQZZON.png

另外再補充一下Header row present?的設定,如果你的檔案的第一行有包含欄位名稱的定義請勾選此項目,像今天我們自製的讀取檔案的第一行就有定義欄位名稱,所以要打勾。


以上的操作是不是很簡單呢!一行程式都不用寫,滑鼠點一點就可以囉!
下一篇將介紹讀取Excel的Step


上一篇
預覽、除錯與驗證Transformation
下一篇
Step - 讀取Excel檔案
系列文
30天學會Data Integration - Kettle30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言