日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库数据格式化之Kettle Spoon

發(fā)布時間:2024/9/20 数据库 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库数据格式化之Kettle Spoon 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

現(xiàn)在的數(shù)據(jù)庫種類越來越多,數(shù)據(jù)庫備份的格式也越來越復雜,所以數(shù)據(jù)格式化一直是一個老生常談的問題。據(jù)庫備份文件格式那么多,既有SQL的,也有BAK的,還有TXT的等。數(shù)據(jù)庫種類也有很多,MySQL,Oracle,SQL server等,怎么對這些數(shù)據(jù)庫進行管理?昨天泄露access格式的數(shù)據(jù)庫,今天泄露了excel格式的數(shù)據(jù)庫,明天又泄露了SQL格式的數(shù)據(jù)庫。要格式化那么多種類的數(shù)據(jù)庫,壓力山大啊!搭建個本地的數(shù)據(jù)庫怎么那么復雜?

這里就要說到kettle。首先得說說Pentaho這個企業(yè)。Pentaho主要致力于大數(shù)據(jù)的分析,整理和管理,并且這家公司開發(fā)出來的工具是開源的!沒錯,就是開源的。任何人都可以查看這個項目的源代碼,并且對其進行更改和研究。這家公司開發(fā)了很多管理工具或者框架,最為出名的就是kettle了。Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運行,數(shù)據(jù)抽取高效穩(wěn)定。ELT的全稱為Extraction, Transformation Loading,其中文解釋為提取,轉換和加載。Kettle這個工具里面有SPOON,PAN,CHEF,Encr和KITCHEN這么五個基本組建。

SPOON 允許你通過圖形界面來設計ETL轉換過程(Transformation)。

PAN 允許你批量運行由Spoon設計的ETL轉換 (例如使用一個時間調度器)。Pan是一個后臺執(zhí)行的程序,沒有圖形界面。

CHEF 允許你創(chuàng)建任務(Job)。 任務通過允許每個轉換,任務,腳本等等,更有利于自動化更新數(shù)據(jù)倉庫的復雜工作。任務通過允許每個轉換,任務,腳本等等。任務將會被檢查,看看是否正確地運行了。

KITCHEN 允許你批量使用由Chef設計的任務 (例如使用一個時間調度器)。KITCHEN也是一個后臺運行的程序。

Encr 此腳本是用來加密連接數(shù)據(jù)庫密碼與集群時使用的密碼

今天我們主要講的是SPOON,這里會做一個基礎的講解,以便達到拋磚引玉的作用。

1.基本安裝

由于Kettle是由JAVA代碼所編寫的,所以大家要運行Kettle首先是下載安裝JDK并且設置好環(huán)境變量。Kettle的下載地址是“傳送門”。

下載完成后,你會得到一個RAR壓縮包,請對壓縮包進行解壓。

解壓完成后在文件更目錄內,你可以看到幾個bat文件和sh文件,這里就是kettle工具的打開的方式。

?

這里做個常識普及。

windows系統(tǒng)的用戶請用bat文件打開kettle

linux系統(tǒng)的用戶請用sh文件打開kettle

這里主要說的是kettle spoon的一個基本講解。運行spoon.bat或者spoon.sh后等待幾秒鐘就可以看到kettle spoon的基本界面了。

?

2.基本建模

新建作業(yè)

在開始對數(shù)據(jù)管理之前,我們需要新建一個作業(yè)。點擊文件,新建中的作業(yè)選項,產生出一個作業(yè)。

在核心對象這里,我們可以看到kettle spoon中非常主要的幾個基本功能和模塊。

?

數(shù)據(jù)輸入

數(shù)據(jù)庫的備份格式有很多,有bak,sql,txt,csv等等。這里需要對這些文件有一個基本的管理,這里就扯到了數(shù)據(jù)庫輸入模塊,我們得先把自己的輸入模塊建立好。下面這張圖是kettle spoon上幾個輸入的基本模塊。

?

這里對輸入模塊做個基本的操作教程,我們先來看看對數(shù)據(jù)庫備份文件怎么進行輸入的。鼠標左鍵單擊一個模塊拖動到作業(yè)方框內就可以對這個模塊進行編輯。

?

假設我要對一個txt格式的泄露數(shù)據(jù)庫進行入庫,那么首先應該查看的是字段的分隔符和限定符。

?

然后拖動一個文本文件輸入模塊到作業(yè)內。

?

雙擊這個模塊對其進行設置。

?

然后點擊瀏覽,選擇要導入的數(shù)據(jù)庫文件,然后點擊增加。

?

通過上圖已經(jīng)知道了數(shù)據(jù)庫字段的分隔符,在內容處填寫好分隔符。這里除了分隔符的設置還可以設置文本顯示格式,限定符等等。

然后就是獲取table表格。在這個設置內,你還可以對table表的表名進行編輯。

?

在設置完成后,我們需要預覽一下整個table表,查看自己的設置是否正確。

?

當然,這里只是一個非常簡單的txt無加密備份的數(shù)據(jù)庫,KettleSpoon還提供Accesss,SQL,CSV等數(shù)據(jù)輸入格式,甚至還提供數(shù)據(jù)庫對數(shù)據(jù)庫輸入。比如你要把oracle數(shù)據(jù)庫中的數(shù)據(jù)輸入到mysql的數(shù)據(jù)庫中,你可能需要先把數(shù)據(jù)備份下來,整理好后在導入到mysql數(shù)據(jù)庫中。但是在kettle spoon中,你可以直接在數(shù)據(jù)流中進行傳輸,直接省去了中間的這一步。在表輸入模塊中可以使用這個功能。

?

數(shù)據(jù)加工

通過上面的步驟,已經(jīng)成功的把數(shù)據(jù)輸入進來,但是我們還需要對數(shù)據(jù)進行整理。比如增加序列,增加字段,數(shù)據(jù)加密等。這里再繼續(xù)舉個例子。因為本地數(shù)據(jù)庫有海量的數(shù)據(jù),所以就需要做數(shù)據(jù)索引。索引數(shù)據(jù)有個很關鍵的地方就是ID,每一條數(shù)據(jù)需要不同的ID進行索引,而且ID的值還不能是普通的int類型,必須是bigint類型。這里需要對海量的數(shù)據(jù)進行一個規(guī)范的整理和加工。

假設我的數(shù)據(jù)庫中已經(jīng)有199條數(shù)據(jù)了,我需要對新的每條數(shù)據(jù)重新做一個ID序列,ID起始值為200,每條數(shù)據(jù)之間的ID值增加兩個數(shù)字。雖然感覺很復雜,但是kettle spoon卻可以很輕易的解決這個問題。

從轉換處拖出一個增加序列模塊到作業(yè)內,然后鼠標左鍵單擊文本文件輸入模塊,并且按住shift鍵不放,同時往任意方向上拖動鼠標,這個時候你會看到一條線。把它鏈接到增加序列模塊。

?

雙擊增加序列模塊進入到設置界面,在值的名稱那里設置字段名稱為newid。因為ID的起始值是200,所以起始值設置成200。因為每條數(shù)據(jù)之間的ID增加兩個數(shù)字,所以增長根據(jù)這里設置成2。最后點擊確定。

?

這樣一個增加序列的設置就完成了。當然這個例子只是一個非常簡單的功能,里面有很多數(shù)據(jù)處理的功能等著大家一一嘗試。

數(shù)據(jù)輸出

數(shù)據(jù)輸入也有了,加工步驟也有了,那么該對數(shù)據(jù)進行輸出了。在數(shù)據(jù)輸出的時候可能大家會對其有一些要求,比如我不想要某些字段,或者我想設置數(shù)據(jù)的格式等。這里kettle都可以幫助到你。Kettle甚至提供了多種數(shù)據(jù)輸出的模塊,大家可以查其輸出菜單。

?

這里還是繼續(xù)舉一下剛才的例子。假設新的數(shù)據(jù)我只要剛才的新生成的ID,Usename和password字段,其它的我都不要,并且數(shù)據(jù)要輸出到excel表格內,而且數(shù)據(jù)的字體是Arial,大小是10。

那么我們可以先建立一個excel輸出模塊,然后該模塊需要與之前的增加序列模塊進行連接。

?

隨后雙擊excel模塊進行設置。在瀏覽那里選擇excel的保存路徑。

?

然后在格式這里設置excel的字體格式等。

?

然后在字段這里先選擇獲取字段,然后刪除不想要的字段,并且對字段進行排序。

?

然后點擊左上角的開始即可開始對數(shù)據(jù)的輸出

?

下圖是整理后的數(shù)據(jù)。可以看到數(shù)據(jù)的ID從200開始,并且每條數(shù)據(jù)增加兩個數(shù)字。同時字段要求和字體格式要求都已經(jīng)達到。因為我自己的excel的設置問題,所有的數(shù)字后面都會有兩個小數(shù)據(jù)點,這個不影響。

?

總結

實際上剛才展示的只是一個非常基礎的kettle數(shù)據(jù)建模,還有更加復雜的,我給大家展示一下

多備份數(shù)據(jù)庫輸入到單一excel文件內

?

多數(shù)據(jù)在線同步并且加密到異地服務器內

?

單一文件增加常量和序列并且同時同步到多個數(shù)據(jù)庫內

?

Kettle非常的強大,而這篇文章所說到的只是kettle spoon,還有pen,chef等。這篇文章主要是做一個拋磚引玉的作用,讓大家能夠了解并且初步使用kettle這個工具。kettle不只是可以做到基本的數(shù)據(jù)入庫和整理,你甚至還可以寫自己的數(shù)據(jù)管理模塊,腳本,并且運用在kittle內,比如數(shù)據(jù)匹配模塊,數(shù)據(jù)分發(fā)模塊等。

總結

以上是生活随笔為你收集整理的数据库数据格式化之Kettle Spoon的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。