ETL,是英文 Extract-Transform-Load 的縮寫,用來描述將數(shù)據(jù)從來源端經(jīng)過抽?。╡xtract)、轉(zhuǎn)換(transform)、加載(load)至目的端的過程。ETL 是構(gòu)建數(shù)據(jù)倉庫的重要一環(huán),用戶從數(shù)據(jù)源抽取出所需的數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗,最終按照預(yù)先定義好的數(shù)據(jù)倉庫模型,將數(shù)據(jù)加載到數(shù)據(jù)倉庫中去。 我們在下方列出了 7 款開源的 ETL 工具,并討論了從 ETL 轉(zhuǎn)向“無 ETL”的過程,因?yàn)?ELT 正迅速成為現(xiàn)代數(shù)據(jù)和云環(huán)境的終極過程。 注:原文包含 11 項(xiàng) ETL 工具,本文提取了其中開源的 7 項(xiàng),如需對另外 4 項(xiàng)進(jìn)行了解,可點(diǎn)擊文末鏈接進(jìn)行查看。 優(yōu)秀的 ETL 工具1、 Apache Camel Apache Camel 是一個(gè)非常強(qiáng)大的基于規(guī)則的路由以及媒介引擎,該引擎提供了一個(gè)基于 POJO 的企業(yè)應(yīng)用模式(Enterprise Integration Patterns)的實(shí)現(xiàn),你可以采用其異常強(qiáng)大且十分易用的 API (可以說是一種 Java 的領(lǐng)域定義語言 Domain Specific Language)來配置其路由或者中介的規(guī)則。 通過這種領(lǐng)域定義語言,你可以在你的 IDE 中用簡單的 Java Code 就可以寫出一個(gè)類型安全并具有一定智能的規(guī)則描述文件。
主頁: http://camel./ 2、 Apache Kafka Apache Kafka 是一個(gè)開源的消息系統(tǒng),用 Scale 和 Java 寫成。該項(xiàng)目為處理實(shí)時(shí)數(shù)據(jù)提供了一個(gè)統(tǒng)一、高通量、低延時(shí)的平臺。有如下特性:
主頁: https://kafka./ 3、 Apatar Apatar 用 Java 編寫,是一個(gè)開源的數(shù)據(jù)抽取、轉(zhuǎn)換、 裝載(ETL)項(xiàng)目。模塊化的架構(gòu)。提供可視化的 Job 設(shè)計(jì)器與映射工具,支持所有主流數(shù)據(jù)源,提供靈活的基于 GUI、服務(wù)器和嵌入式的部署選項(xiàng)。它具有符合 Unicode 的功能,可用于跨團(tuán)隊(duì)集成數(shù)據(jù),填充數(shù)據(jù)倉庫與數(shù)據(jù)市場,在連接到其他系統(tǒng)時(shí)在代碼少量或沒有代碼的情況下進(jìn)行維護(hù)。 主頁: http:/// 4、 Heka 來自 Mozilla 的 Heka 是一個(gè)用來收集和整理來自多個(gè)不同源的數(shù)據(jù)的工具,通過對數(shù)據(jù)進(jìn)行收集和整理后發(fā)送結(jié)果報(bào)告到不同的目標(biāo)用于進(jìn)一步分析。
5、 Logstash Logstash 是一個(gè)應(yīng)用程序日志、事件的傳輸、處理、管理和搜索的平臺。你可以用它來統(tǒng)一對應(yīng)用程序日志進(jìn)行收集管理,提供 Web 接口用于查詢和統(tǒng)計(jì)。Logstash 現(xiàn)在是ElasticSearch家族成員之一。 主頁: https://www./products/logstash 6、 Scriptella Scriptella 是一個(gè)開源的 ETL (抽取-轉(zhuǎn)換-加載)工具和一個(gè)腳本執(zhí)行工具,采用 Java 開發(fā)。Scriptella 支持跨數(shù)據(jù)庫的 ETL 腳本,并且可以在單個(gè)的 ETL 文件中與多個(gè)數(shù)據(jù)源運(yùn)行。Scriptella 可與任何 JDBC / ODBC 兼容的驅(qū)動(dòng)程序集成,并提供與非 JDBC 數(shù)據(jù)源和腳本語言的互操作性的接口。它還可以與 Java EE,Spring,JMX,JNDI 和 JavaMail 集成。
主頁: http:/// 7、 Talend Talend (踏藍(lán))是第一家針對的數(shù)據(jù)集成工具市場的 ETL(數(shù)據(jù)的提取 Extract、傳輸 Transform、載入Load)開源軟件供應(yīng)商。Talend 以它的技術(shù)和商業(yè)雙重模式為 ETL 服務(wù)提供了一個(gè)全新的遠(yuǎn)景。它打破了傳統(tǒng)的獨(dú)有封閉服務(wù),提供了一個(gè)針對所有規(guī)模的公司的公開的,創(chuàng)新的,強(qiáng)大的靈活的軟件解決方案。最終,由于 Talend 的出現(xiàn),數(shù)據(jù)整合方案不再被大公司所獨(dú)享。 主頁: http://www./ ELT 初探雖然 Stitch 也是一個(gè) ETL 服務(wù)企業(yè),但其 CEO 在 TechTarget 雜志的訪談中也稱贊了 AWS Athena 服務(wù),同時(shí)提出了從 ETL 轉(zhuǎn)向 ELT 的需要。 在他看來,“無 ETL”即 ETL 過程由提取( Extract ),加載( Load ),變換( Transform )代替,其中數(shù)據(jù)變換根據(jù)下游使用的需要而在 SQL 中進(jìn)行,而不是在加載階段期間。他承認(rèn) ETL 公司來推廣 ELT 概念有點(diǎn)讓人匪夷所思,但他解釋了這么做的好處。 “使用 Athena,你可以從數(shù)據(jù)源中提取數(shù)據(jù),經(jīng)過少量或不加載預(yù)處理后進(jìn)行加載。 這種風(fēng)格的 ELT 是大多數(shù)使用案例的優(yōu)秀模型,因?yàn)樗墚a(chǎn)生更簡單的架構(gòu),使分析人員更好地了解原始數(shù)據(jù)的變換過程?!?點(diǎn)此了解更多 。 使用 ELT 方法,在提取完成之后,數(shù)據(jù)加載會(huì)立即開始,而不用等待“恰當(dāng)?shù)摹睌?shù)據(jù)變換操作。 轉(zhuǎn)換還可以在查詢時(shí)運(yùn)行,比 ETL 更省時(shí),因?yàn)?ETL 需要用戶等待轉(zhuǎn)換完成。 ELT 允許 BI 用戶和分析人員無限制地訪問整個(gè)原始數(shù)據(jù),為用戶提供了更大的靈活性,使之能更好地支持該業(yè)務(wù)。 更多內(nèi)容,可參閱: ETL vs ELT: The Difference is in the How . 編譯自: 11 Great ETL Tools and the Case for Saying 'No' to ETL 責(zé)任編輯:開源中國- 達(dá)爾文 |
|