偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

詳解ETL工具十大必備的功能特性

開發(fā) 開發(fā)工具
Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運(yùn)行。今天主要先描述ETL工具的通用功能。

概述

Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運(yùn)行。

說白了就是,很有必要去理解一般ETL工具必備的特性和功能,這樣才更好的掌握Kettle的使用。今天主要先描述ETL工具的通用功能。

詳解ETL工具十大必備的功能特性

ETL工具的功能之一:連接

任何ETL工具都應(yīng)該有能力連接到類型廣泛的數(shù)據(jù)源和數(shù)據(jù)格式。對于最常用的關(guān)系型數(shù)據(jù)庫系統(tǒng),還要提供本地的連接方式(如對于Oracle的OCI),ETL應(yīng)該能提供下面最基本的功能:

詳解ETL工具十大必備的功能特性

  • 連接到普通關(guān)系型數(shù)據(jù)庫并獲取數(shù)據(jù),如常見的Orcal、MS SQL Server、IBM DB/2、Ingres、MySQL和PostgreSQL。還有很多很多
  • 從有分隔符和固定格式的ASCII文件中獲取數(shù)據(jù)
  • 從XML文件中獲取數(shù)據(jù)
  • 從流行的辦公軟件中獲取數(shù)據(jù),如Access數(shù)據(jù)庫和Excel電子表格
  • 使用FTP、SFTP、SSH方式獲取數(shù)據(jù)(最好不用腳本)
  • 還能從Web Services 或 RSS中獲取數(shù)據(jù)。如果還需要一些ERP系統(tǒng)里的數(shù)據(jù),如Oracle E-Business Suite、SAP/R3、PeopleSoft 或 JD/Edwards,ETL工具也應(yīng)該提供到這些系統(tǒng)的連接。
  • 還能提供Salesforce.com和SAP/R3的輸入步驟,但不是套件內(nèi),需要額外安裝。對于其他ERP和財(cái)務(wù)系統(tǒng)的數(shù)據(jù)抽取還需要其他解決方案。當(dāng)然,最通用的方法就是要求這些系統(tǒng)導(dǎo)出文本格式的數(shù)據(jù),將文本數(shù)據(jù)作為數(shù)據(jù)源。

ETL工具的功能之二:平臺獨(dú)立

一個ETL工具應(yīng)該能在任何平臺下甚至是不同平臺的組合上運(yùn)行。一個32位的操作系統(tǒng)可能在開發(fā)的初始階段運(yùn)行很好,但是當(dāng)數(shù)據(jù)量越來越大時,就需要一個更強(qiáng)大的操作系統(tǒng)。另一種情況,開發(fā)一般是在Windows或 Mac機(jī)上運(yùn)行的。而生產(chǎn)環(huán)境一般是Linux系統(tǒng)或集群,你的ETL解決方案應(yīng)該可以無縫地在這些系統(tǒng)間切換。

ETL工具的功能之三:數(shù)據(jù)規(guī)模

一般ETL能通過下面的3種方式來處理大數(shù)據(jù)。

  • 并發(fā):ETL過程能夠同時處理多個數(shù)據(jù)流,以便利用現(xiàn)代多核的硬件架構(gòu)。
  • 分區(qū):ETL能夠使用特定的分區(qū)模式,將數(shù)據(jù)分發(fā)到并發(fā)的數(shù)據(jù)流中。
  • 集群:ETL過程能夠分配在多臺機(jī)器上聯(lián)合完成。

Kettle是基于Java的解決方案,可以運(yùn)行在任何安裝了Java虛擬機(jī)的計(jì)算機(jī)上(包括Windows、Linux和Mac)。轉(zhuǎn)換里的每個步驟都是以并發(fā)的方式來執(zhí)行,并且可以執(zhí)行多次,這樣加快了處理速度。

Kettle在運(yùn)行轉(zhuǎn)換時,根據(jù)用戶的設(shè)置,可以將數(shù)據(jù)以不同的方式發(fā)送到多個數(shù)據(jù)流中(有兩種幾本發(fā)送方式:分發(fā)和復(fù)制)。分發(fā)類似與分發(fā)撲克牌,以輪流的方式將每行數(shù)據(jù)只發(fā)給一個數(shù)據(jù)流,復(fù)制是將每行數(shù)據(jù)發(fā)給所有數(shù)據(jù)流。

為了更精確控制數(shù)據(jù),Kettle還使用了分區(qū)模式,通過分區(qū)可以將同一特征的數(shù)據(jù)發(fā)送到同一個數(shù)據(jù)流。這里的分區(qū)只是概念上類似于數(shù)據(jù)庫的分區(qū)。

Kettle并沒有針對數(shù)據(jù)庫分區(qū)有什么功能。

ETL工具的功能之四:設(shè)計(jì)靈活性

一個ETL工具應(yīng)該留給開發(fā)人員足夠的自由度來使用,而不能通過一種固定的方式來限制用戶的創(chuàng)造力和設(shè)計(jì)的需求。ETL工具可以分為基于過程的和基于映射的。

基于映射的功能只在源數(shù)據(jù)和目的數(shù)據(jù)之間提供了一組固定的步驟,嚴(yán)重限制了設(shè)計(jì)工作的自由度?;谟成涞墓ぞ咭话阋子谑褂?,可快速上手,但是對于更復(fù)雜的任務(wù),基于過程的工具才是組好的選擇。

使用Kettle這樣基于過程的工具,根據(jù)實(shí)際的數(shù)據(jù)和也許需求,可以創(chuàng)建自定義的步驟和轉(zhuǎn)換。

ETL工具的功能之五:復(fù)用性

設(shè)計(jì)完的ETL轉(zhuǎn)換應(yīng)該可以被復(fù)用,這是非常重要的。復(fù)制和粘貼已經(jīng)存在的轉(zhuǎn)換步驟是最常見的一種復(fù)用,但這不是真正意義上的復(fù)用。

Kettle里有一個映射(子轉(zhuǎn)換)步驟,可以完成轉(zhuǎn)換的復(fù)用,該步驟可以將一個轉(zhuǎn)換作為其他轉(zhuǎn)換的子轉(zhuǎn)換。另外轉(zhuǎn)換還可以在多個作業(yè)里多次使用,同樣作業(yè)也可以為其他作業(yè)的子作業(yè)。

ETL工具的功能之六:擴(kuò)展性

大家都知道,幾乎所有的ETL工具都提供了腳本,以編程的方式來解決工具本身不能解決的問題。另外,還有少數(shù)幾款ETL工具可以通過API或其他方式為工具增加組件。使用腳本語言寫函數(shù),函數(shù)可以被其他轉(zhuǎn)換或腳本調(diào)用。

Kettle提供了上述的所有功能。Java腳本步驟可以用來開發(fā)Java腳本,把這個腳本保存為一個轉(zhuǎn)換,再通過映射(子轉(zhuǎn)換)步驟,又可以變?yōu)橐粋€標(biāo)準(zhǔn)的可以復(fù)用的函數(shù)。實(shí)際上,并不限于腳本,每個轉(zhuǎn)換都可以通過這種映射(子轉(zhuǎn)換)方式來復(fù)用,如同創(chuàng)建了一個組件。Kettle在設(shè)計(jì)上就是可擴(kuò)展的,它提供了一個插件平臺。這種插件架構(gòu)允許第三方為Kettle平臺開發(fā)插件。

Kettle里的所有插件,即使是默認(rèn)提供的組件,實(shí)際上也都是插件。內(nèi)置的第三方插件和Pentaho插件的唯一區(qū)別就是技術(shù)支持。假設(shè)你買了一個第三方插件(例如一個SugarCRM的連接),技術(shù)支持由第三方提供,而不是由Pentaho提供。

ETL工具的功能之七:數(shù)據(jù)轉(zhuǎn)換

ETL項(xiàng)目很大一部分工作都是在做數(shù)據(jù)轉(zhuǎn)換。在輸入和輸出之間,數(shù)據(jù)要經(jīng)過校驗(yàn)、連接、分隔、合并、轉(zhuǎn)置、排序、合并、克隆、排重、過濾、刪除、替換或者其他操作。

詳解ETL工具十大必備的功能特性

在不同機(jī)構(gòu)、項(xiàng)目和解決方案里,數(shù)據(jù)轉(zhuǎn)換的需求都大不相同,所以很難說清一個ETL工具最少應(yīng)該提供哪些轉(zhuǎn)換功能。但是呢,常用的ETL工具(包括Kettle)都提供了下面一些最基本的整合功能:

  • 緩慢變更維度
  • 查詢值
  • 行列轉(zhuǎn)換
  • 條件分隔
  • 排序、合并、連接
  • 聚集

ETL工具的功能之八:測試和調(diào)試

測試通常分為黑盒測試(也叫功能測試)和白盒測試(結(jié)構(gòu)測試)。

黑盒測試,ETL轉(zhuǎn)換就被認(rèn)為是一個黑盒子,測試者并不了解黑盒子的功能,只知道輸入和期望的輸出。

白盒測試,要求測試者知道轉(zhuǎn)換內(nèi)部的工作機(jī)制并依此設(shè)計(jì)測試用例來檢查特定的轉(zhuǎn)換是否有特定的結(jié)果。

調(diào)試實(shí)際是白盒測試中的一部分,通過高度可以讓開發(fā)者或測試者一步一步地運(yùn)行一個轉(zhuǎn)換,并找出問題的所在。

ETL工具的功能之九:血統(tǒng)分析和影響分析

任何ETL工具都應(yīng)該有一個重要的功能:讀取轉(zhuǎn)換的元數(shù)據(jù),它是提取由不同轉(zhuǎn)換構(gòu)成的數(shù)據(jù)流的信息。

血統(tǒng)分析和影響分析是基于元數(shù)據(jù)的兩個相關(guān)的特性。

血統(tǒng)是一種回溯性的機(jī)制,它可以查看到數(shù)據(jù)的來源。

影響分析是基于元數(shù)據(jù)的另一種分析方法,可以分析源數(shù)據(jù)對隨后的轉(zhuǎn)換以及目標(biāo)表的影響。

ETL工具的功能之十:日志和審計(jì)

數(shù)據(jù)倉庫的目的就是要提供一個準(zhǔn)確的信息源,因此數(shù)據(jù)倉庫里的數(shù)據(jù)應(yīng)該是可靠的、可信任的。為了保證這陣可靠性,同時保證可以記錄下所有的數(shù)據(jù)轉(zhuǎn)換操作,ETL工具應(yīng)該提供日志和審計(jì)功能。

日志可以記錄下在轉(zhuǎn)換過程中執(zhí)行了哪些步驟,包括每個步驟開始和結(jié)束時間戳。

審計(jì)可以追蹤到對數(shù)據(jù)做的所有操作,包括讀行數(shù)、轉(zhuǎn)換行數(shù)、寫行數(shù)。

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2023-02-15 08:26:29

iOS工具

2010-11-30 09:09:35

2022-07-19 08:41:09

UbuntuLinux

2010-08-03 13:20:53

FlexBuilder

2022-08-16 14:27:56

Java開發(fā)編程

2013-06-13 10:55:08

Mac OS X

2011-08-09 11:01:01

MySQL

2010-05-25 09:48:37

Office2010微軟

2022-07-05 13:43:13

LinuxUbuntu應(yīng)用程序

2022-07-11 21:11:29

UbuntuLinux

2011-12-28 09:13:30

2012-10-15 09:52:36

中小企業(yè)服務(wù)器特性

2009-03-26 09:17:22

Linux調(diào)試Linux開發(fā)

2014-10-14 15:36:01

2014-04-16 10:10:58

應(yīng)用測試

2009-11-11 16:37:50

ADO.NET新增特性

2009-04-29 10:42:31

Java特性goto

2011-05-03 09:41:42

Android開發(fā)工具Android SDK

2009-12-08 17:56:11

2020-03-24 14:35:24

開源工具Joplin
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號