免費的 ETL 工具 Benetl
Benetl 是 PostgreSQL 數據庫的一個免費的 ETL 工具,同時也支持 MySQL。用于從包括 csv、txt和 excel 文件中抽取數據進行轉換并導入到數據庫中。
Benetl is a free ETL tool for files working with postgreSQL 9.x and MySQL 5.x
Version of Benetl, the free ETL tool, in download is version 3.8 (10/24/2011).
You should update. A version for Linux is available.This release is a mature one, you can use in a production mode.
Please read about "part formula" and "interesting example" in documentation, in order to see possibilites that Benetl brings.
MySQL users, please read about "Benetl core configuration" in documentation.
ETL即數據抽取(Extract)、轉換(Transform)、裝載(Load)的過程。它是構建數據倉庫的重要環節。數據倉庫是面向主題的、集成的、穩定的且隨時間不斷變化的數據集合,用以支持經營管理中的決策制定過程。數據倉庫系統中有可能存在著大量的噪聲數據,引起的主要原因有:濫用縮寫詞、慣用語、數據輸入錯誤、重復記錄、丟失值、拼寫變化等。即便是一個設計和規劃良好的數據庫系統,如果其中存在著大量的噪聲數據,那么這個系統也是沒有任何意義的,因為“垃圾進,垃圾出”(garbage in, garbage out),系統根本就不可能為決策分析系統提供任何支持。為了清除噪聲數據,必須在數據庫系統中進行數據清洗。目前有不少數據清洗研究和ETL研究,但是如何在ETL過程中進行有效的數據清洗并使這個過程可視化,此方面研究不多。本文主要從兩個方面闡述ETL和數據清洗的實現過程:ETL的處理方式 [19]和數據清洗的實現方法。
(1)ETL的處理方式
本文所采用的ETL方法是數據庫段區域中的ETL處理方式,它不使用外部引擎而是使用數據庫作為唯一的控制點。由于源系統SQLserver2000是關系數據庫,它的段表也是典型的關系型表。成功地將外部未修改數據載入數據庫后,再在數據庫內部進行轉換。數據庫段區域中的ETL處理方式執行的步驟是提取、裝載、轉換,即通常所說的ELT。[21]這種方式的優點是為抽取出的數據首先提供一個緩沖以便于進行復雜的轉換,減輕了ETL進程的復雜度。
(2)ETL過程中實現數據清洗的實現方法
首先,在理解源數據的基礎上實現數據表屬性一致化。為解決源數據的同義異名和同名異義的問題,可通過元數據管理子系統,在理解源數據的同時,對不同表的屬性名根據其含義重新定義其在數據挖掘庫中的名字,并以轉換規則的形式存放在元數據庫中,在數據集成的時候,系統自動根據這些轉換規則將源數據中的字段名轉換成新定義的字段名,從而實現數據挖掘庫中的同名同義。
其次,通過數據縮減,大幅度縮小數據量。由于源數據量很大,處理起來非常耗時,所以可以優先進行數據縮減,以提高后續數據處理分析效率。
最后,通過預先設定數據處理的可視化功能節點,達到可視化的進行數據清洗和數據轉換的目的。針對縮減并集成后的數據,通過組合預處理子系統提供各種數據處理功能節點,能夠以可視化的方式快速有效完成數據清洗和數據轉換過程。
ETL 即數據抽取(Extract)、轉換(Transform)、裝載(Load)的過程。它是構建數據倉庫的重要環節。數據倉庫是面向主題的、集成的、穩定的且隨時間不斷變化的數據集合,用以支持經營管理中的決策制定過程。數據倉庫系統中有可能存在著大量的噪聲數據,引起的主要原因有:濫用縮寫詞、慣用語、數據輸入錯誤、重復記錄、丟失值、拼寫變化等。即便是一個設計和規劃良好的數據庫系統,如果其中存在著大量的噪聲數據,那么這個系統也是沒有任何意義的,因為“垃圾進,垃圾出”(garbage in, garbage out),系統根本就不可能為決策分析系統提供任何支持。為了清除噪聲數據,必須在數據庫系統中進行數據清洗。目前有不少數據清洗研究和ETL研究,但是如何在ETL過程中進行有效的數據清洗并使這個過程可視化,此方面研究不多。本文主要從兩個方面闡述ETL和數據清洗的實現過程:ETL的處理方式 [19]和數據清洗的實現方法。
(1)ETL的處理方式
本文所采用的ETL方法是數據庫段區域中的ETL處理方式,它不使用外部引擎而是使用數據庫作為唯一的控制點。由于源系統SQLserver2000是關系數據庫,它的段表也是典型的關系型表。成功地將外部未修改數據載入數據庫后,再在數據庫內部進行轉換。數據庫段區域中的ETL處理方式執行的步驟是提取、裝載、轉換,即通常所說的ELT。[21]這種方式的優點是為抽取出的數據首先提供一個緩沖以便于進行復雜的轉換,減輕了ETL進程的復雜度。
(2)ETL過程中實現數據清洗的實現方法
首先,在理解源數據的基礎上實現數據表屬性一致化。為解決源數據的同義異名和同名異義的問題,可通過元數據管理子系統,在理解源數據的同時,對不同表的屬性名根據其含義重新定義其在數據挖掘庫中的名字,并以轉換規則的形式存放在元數據庫中,在數據集成的時候,系統自動根據這些轉換規則將源數據中的字段名轉換成新定義的字段名,從而實現數據挖掘庫中的同名同義。
其次,通過數據縮減,大幅度縮小數據量。由于源數據量很大,處理起來非常耗時,所以可以優先進行數據縮減,以提高后續數據處理分析效率。
最后,通過預先設定數據處理的可視化功能節點,達到可視化的進行數據清洗和數據轉換的目的。針對縮減并集成后的數據,通過組合預處理子系統提供各種數據處理功能節點,能夠以可視化的方式快速有效完成數據清洗和數據轉換過程。