成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

比較五款企業級ETL工具,助你選出適合項目的解決方案

譯文
開發 開發工具
我們在此為大家羅列和比較了時下五款企業級ETL工具的優缺點,希望能夠幫助您找出最適合手頭項目的解決方案。

[[262008]]

【51CTO.com快譯】在商業環境中,隨著各類數據量的不斷猛增,企業對于那些以ETL為基本要素的數據倉庫項目和高級分析系統的需求也在不斷增多。此處ETL所對應的是數據倉庫的三個概念:提取(Extracting)、轉換(Transforming)和加載(Loading)。其主要流程包括:

  1. 從不同的外部源提取數據。
  2. 將數據轉換為所需的業務模型。
  3. 將數據加載到新的倉庫之中。

可見,ETL是整個數據遷移任務的一個子集。在《數據倉庫ETL工具包(Warehouse ETL Toolkit)》一書中(請詳見https://www.amazon.com/Data-Warehouse-ETL-Toolkit-Techniques-Extracting/dp/0764567578),定義了ETL的三個基本特征:

  • 以適當的格式下載數據,并予以分析。
  • 它包含有許多額外的信息。
  • 系統會記錄數據的來源。

因此,數據不應該只是簡單地從一處被加載到另一處,而應該在加載的過程中得到改進與優化。例如:ETL開發人員可以添加新的技術屬性,去跟蹤數據在數據庫中的顯示方式、數據被更改的時間及方式。

ETL的流程步驟

通常,Web程序員可以將ETL架構想象成如下圖所示的三個區域:

  • 數據源。
  • 中間區域。
  • 數據接收器。

數據流從源頭向接收器移動。由于每個階段都非常復雜,因此創建ETL軟件的過程往往會包括如下不同的挑戰:

  1. 外部數據源的多樣性。
  2. 需要根據業務規則來統一數據。
  3. 更新頻率和其他具體的要求。

因此,普通IT公司需要清楚地了解數據源的結構,并配備相應的目標應用。

一個ETL示例

常見的ETL任務是將數據從關系數據庫管理系統(Relational Database Management System,RDBMS)傳輸到另一個更適合于商業智能工具的數據庫中。因此,ELT的作業可分為兩種類型:

  1. 批量作業
  2. 流式作業

其中,流式作業的一個例子是:從RDBMS中獲取數據,逐個且單獨地傳輸出去,以備后期處理。否則,我們認為它屬于批量處理的范疇。例如:您可以先獲取整個文件,再對其進行處理,***將其保存到更大的文件中。可以說,不同的ETL系統會以不同的方式處理上述任務。

如今,單一的批量方法已被淘汰。持續增長的流式數據源,導致了各種ETL工具被主要用于通過處理流式作業,來盡快地提供出各種***的數據。

同時,由于ETL能夠將數據成功地集成到各種數據庫和應用之中,而各種琳瑯滿目的云端數據集成工具,經常會讓我們難以做出選擇,因此我在此為大家羅列和比較了五款企業級ETL工具的優缺點,希望能夠幫助您找出最適合手頭項目的解決方案。

1. Apache Nifi

定價 :免費

官方網站:https://nifi.apache.org/

實用資源:文檔教程

優點:

  • ***地實現了數據流的編程概念。
  • 能夠處理二進制數據。
  • 提供數據來源(Data Provenance)。

缺點:

  • 用戶界面過于簡單。
  • 缺乏實時監控和逐條記錄的統計數據。

由Apache Software Foundation開發的開源項目--Apache NiFi可謂是***的ETL工具之一。由于基于數據流的編程概念,因此它能夠讓我們在boxes中可視化地組裝各種程序,并在幾乎不需要任何代碼的情況下運行起來。在這一點上,您完全可以不必了解任何編程語言。

作為一款備受歡迎的ETL工具,NiFi能夠處理許多不同的數據源,其中包括:RabbitMQ、JDBC查詢、Hadoop、MQTT、以及UDP套接字等。而在操作方面,您可以對數據進行篩選、調整、連接、拆分、增強和驗證。

由于Apache NiFi是用Java編寫而成,并且是在Apache 2.0的許可證中發布的,因此它不但能夠在JVM上運行,而且支持所有的JVM語言。

該ETL工具既有助于用戶創建長期運行(long-running)的作業,又適用于處理流式數據和一些周期性的批處理。不過,對于那些手動式管理任務而言,用戶在設置NiFi時,可能會碰到一些麻煩。

Apache NiFi是一種功能強大且易于使用的解決方案。它采用了全面的架構模式,其FlowFile包含了各種元信息。因此,該工具不但能夠識別CSV,還可以處理照片、視頻、音頻文件、以及其他二進制數據。

NiFi的處理器包括如下三種輸出:

  1. Failure:意味著FlowFile的處理過程中存在著一些問題。
  2. Original:表示傳入的FlowFile已被處理。
  3. Success:表示FlowFiles的處理已完成。

您可以使用特殊的復選框,來刪除那些已終止的輸出。同時,您應該注意在高級ETL編程中的進程組(Process Groups),它們對于組合復雜的數據流元素來說是非常必需的。

NiFi的另一個實用功能是:可以采用不同的隊列策略(包括FIFO、LIFO以及其他)。Data Provenance是一種用于記錄數據流中幾乎所有內容的連接服務。它可以便利地讓您獲悉數據的保存或執行方式。當然,該功能的唯一缺點是需要大量的磁盤空間。

雖然在我看來Apache NiFi的界面不但簡潔清晰,而且可用性強,但是仍有不少用戶抱怨其缺少必要的組件。例如,他們認為:由于缺少了自動調整各種長SQL查詢的文本字段,因此只能通過手動來完成。

NiFi擁有內置的Node集群。您可以通過選擇一些實例,來讓它提取必要的ETL數據。另外,NiFi可以通過背壓(back pressure)機制,來快速地連接MySQL,獲取某個文件,并將其添加到下一個處理器上。

總而言之,Apache NiFi的主要優勢在于擁有100多種不同的嵌入式處理器。它們能夠通過HTTP、S3或Google Data Source來下載文件,并能將文件上傳到MySQL、或其他數據接收器上。您只需配置UI,按下RUN按鈕,后續它就能自動運行了。

2. Apache StreamSets

定價:免費

官方網站:https://streamsets.com

實用資源:文檔教程開發者支持論壇源代碼

優點:

  • 每個處理器都有基于單條記錄的統計信息,且具有友好的可視化調試效果。
  • 用戶界面非常友好。
  • 提供流式和基于記錄的數據工具。

缺點:

  • 缺少可重用的JDBC配置。
  • 更改單個處理器的設置后,需要停止整個數據流。

Apache StreamSets可謂Apache NiFi的強有力競爭對手,我們很難說出誰更勝一籌。

根據流暢且通用的數據流格式的設計思想,所有被放入StreamSets的數據都會被自動轉換為可交換的記錄。與Apache Nifi不同的是,該ETL工具并不顯示處理器之間的隊列。如果您想使用其他不同的格式,Apache Nifi通常需要從一個版本的處理器轉換為另一個版本。而StreamSets則不然,您需要為設置的更改停止整個數據流,而不僅僅停止某一個處理器。

在StreamSets中,雖然對于錯誤的修復看似困難,但事實上,由于它提供實時的調試工具,因此用戶反而更容易實現錯誤的修復。借助具有實時儀表板和顯示所有統計信息的友好用戶界面,您可以快速地發現并修復任何出現的錯誤。此外,您還可以在處理器之間的連接處,放置各種具有記錄功能的過濾器,以檢查不同可疑的記錄。因此,它具有如下四種處理器的變體:

  • Origin:處理器從數據源接收信息。
  • Processors:獲取和轉換接收到的數據。
  • Destinations:將轉換后的數據放入各種外部文件。
  •  Executors:處理那些由其他處理器完成的操作。

StreamSets的各種處理器可以生成包括錯誤在內的動作和事件。您需要executors,來跟蹤和修復這些錯誤。雖然那些只用到Processors和Controller Services的用戶會更喜歡Apache NiFi的簡約設計。但是,StreamSets也有著規劃合理的架構。憑借著友好的用戶界面,它也并不那么難以上手。

我個人感覺:由于缺少了針對JDBC設置的Controller Services,因此在調整每一個處理器時,都會讓人覺得有些棘手。

StreamSets會在運行數據流之前檢查所有的處理器,即:在數據流啟動之前,必須確保所有處理器的連接。該功能會導致StreamSets不允許用戶留下任何暫未連接、以備將來修復錯誤的處理器。StreamSets的另一個缺點是:無法讓用戶同時選擇多個處理器。畢竟,逐一移動并重組多個處理器,會耗費大量的時間和精力。

總而言之,作為一款成熟的開源ETL工具,它提供了便捷的可視化數據流和時尚的Web界面。

3. Apache Airflow

定價 :免費

官方網站:https://airflow.apache.org

實用資源:教程

優點:

  • 適合不同類型的任務。
  • 具有清晰且可視化的用戶界面。
  • 提供可擴展的方案。

缺點:

  • 不適合流式作業。
  • 需要額外的運算符(operators)。

這是一種被用于創建與跟蹤工作流的開源式ETL軟件。它可以與包括GCP、Azure和AWS在內的云服務一起使用。同時,您可以在Kubernetes上通過Astronomer Enterprise來運行Airflow。

在使用Python來編寫工作流代碼時,您不必擔心XML或GUI拖放等問題,這些步驟具有一定的智能性。作為一款靈活的任務調度程序,Airflow可以被用在許多API之中,以實現訓練ML模型、發送通知、跟蹤系統、以及增強函數等目的。

該平臺具有如下主要特點:

  • 通過Qubole和astronomer.io來提供Airflow-as-a-Service。
  • 2015年由Airbnb所創建,2016年轉入Apache。
  • 以Google Cloud Composer為基礎。
  • 工作流程被作為有向無環圖(directed acyclic graphs,DAGs)執行。

開發者可以用Apache Airflow來創建dynamic、extensible、elegant和scalable四種解決方案。因此,它通過Python代碼提供了動態管道的生成。同時,您還可以自定義運算符和執行程序,以及按需擴展的抽象庫。由于相關參數已被包含在平臺的核心里,因此它能夠創建出各種清晰準確的管道。此外,模塊化與消息隊列式的設計,也讓Airflow更容易實現按需擴展。

Apache Airflow適用于大多數日常任務,包括:運行ETL作業和ML管道,提供數據和完成數據庫備份。但是,對于流式作業來說,這并不是一個很好的選擇。

該平臺具有可視化元素的時尚UI。您可以查看所有正在運行的管道,跟蹤進度并修復錯誤。這些都有助于用戶完成DAG上的復雜任務。

雖然該結構比ETL數據庫更具動態性,但是它能夠提供穩定的工作流。因此,如果您將工作流定義為代碼的話,它們將更具有協作性、可版本化、可測試性和可維護性。

該平臺可運行在私有的Kubernetes集群中,并包含各種資源管理與分析工具,例如:StatsD、Prometheus和Grafana。

您可以使用如下的Airflow工作流,來進行ETL測試:

  • 單元測試
  • 集成測試
  • 端到端測試(在某些情況下)

上述***種類型適用于檢查DAG的加載、Python運算符函數、各種自定義運算符和Bash/EMR腳本。該平臺不需要任何原始配置,其唯一需要更改的地方是:DB連接字符串。您需要創建一個空的數據庫,并授予用戶CREATE/ALTER的權限。剩下的就可以交給Airflow去完成了。

總而言之,Apache Airflow是一款由Python編寫的免費獨立框架。如果您想單獨運行Airflow的話,則會面臨一些挑戰,因此您***使用一些不同的運算符。

4. AWS Data Pipeline

定價:不定,請參見https://aws.amazon.com/datapipeline/pricing/

官方網站:https://aws.amazon.com/datapipeline/

實用資源:文檔社區論壇

優點:

  • 易用的ETL技術
  • 價格合理
  • 靈活性好

缺點:

  • 沒有太多內置函數

該Web服務確保了數據在AWS計算資源和各種數據源之間的處理和移動。它能夠對已存儲的數據提供***的訪問與轉換。其最終結果也可以被轉移到諸如:Amazon DynamoDB、Amazon RDS、Amazon EMR和Amazon S3等服務之中。該ETL工具簡化了創建復雜數據處理負載的相關過程,有助于實現可重復、高可用且可靠的用例負載(case-load)。

AWS Data Pipeline能夠移動和處理那些被鎖在本地數據孤島中的數據。Amazon號稱其ETL工具有如下六項主要優勢:

  • 準確性
  • 簡單性
  • 適應性
  • 價錢合理
  • 可擴展性
  • 透明度

AWS Data Pipeline是一種可靠的服務,它能夠在發生故障時,自動對各種活動進程進行重試。通過配置,您可以通過Amazon SNS接收到運行成功、延時或失敗等通知。

您還可以通過拖放控制臺,來簡單快速地設計各種管道。其內置的預置條件,省去了您通過額外編寫邏輯去調用它們。Web開發人員可能會用到的功能包括:調度、依賴關系跟蹤和問題處理。同時,該服務也被靈活地設計為能夠流暢地處理大量文件。

AWS Data Pipeline是一種無服務器式的編排服務,因此您只需為自己所使用的內容付費。同時,它為新用戶提供了免費的試用版。通過該透明式方案,用戶能夠接收與管道相關的完整信息,并完全控制各種計算資源。

這款ETL工具很適合于執行各種管道作業。我在當前的項目中就使用它來傳輸各種數據。雖然AWS Data Pipeline沒有豐富的內置函數,但是它提供了便捷的UI和內置了多種處理器的實用工具。用戶可以用它來生成各種實例,并實現級聯式的文件管理。

5. AWS Glue

定價:不定,請參見https://aws.amazon.com/glue/pricing/

官方網站:https://aws.amazon.com/glue/

實用資源:教程

優點:

  • 支持各種數據源。
  • 與AWS的各種服務有良好的集成。

缺點:

  • 需要大量的手工操作。
  • 靈活性差。

AWS Glue允許您在AWS管理控制臺中創建和運行一項ETL作業。該服務能夠從AWS中獲取各種數據和元數據,并通過放入相應的類目,以供ETL進行搜索、查詢和使用。整個過程分為如下三個步驟:

  • 通過構建類目(包括JSON、CSV、Parquet和許多其他格式)對數據進行分類。
  • 生成ETL代碼和各種編輯轉換(可用Scala或Python編寫)。
  • 調度和運行各種ETL作業。

這款ETL工具具有如下三個主要優點:

  • 便利性:由于能與眾多的AWS服務和引擎相緊密集成,因此該工具對于那些已經使用了Amazon產品的用戶來說,非常容易上手。不過,其缺點在于:您無法在本地、或任何其他云端環境中實現它。
  • 經濟實惠:無服務器解決方案意味著您無需配置或管理任何基礎架構。因此,其成本取決于各個“數據處理單元”的開銷。您只需為正在運行的作業付費便可。
  • 功能強大:能夠自動創建、維護和運行各種ETL作業。當然,該服務也需要大量的手工操作。

雖然AWS Glue是AWS生態系統中的重要組成部分,但是您應該注意它的細微差別。該服務能夠提供抽象級別的CSV文件。不過,您需要通過大量的手工操作,才能最終生成可運行的Spark代碼。您可以在Scala或Python中下載相應的代碼,并按需進行各種修改。雖然它適用于大量的數據源,但是該服務會最終強制您選取某一種特定的方案。而且您無法在后續的使用中,再去改用其他方式。

如何選擇正確的ETL工具

InfoWorld曾斷言:在構建數據倉庫系統的方面,ETL的成本占比***。用戶需要特別關注由它所產生的瓶頸。因此,只有恰當地實施ETL,才能優化企業的成本和加快員工的工作效率。***,我為您列出如下五個方面,供您在選用ETL工具時進行參考:

  • 系統的復雜性。
  • 您的數據要求。
  • 開發者的經驗。
  • ETL的技術成本。
  • 特殊的業務需求。

原文標題:Top 5 Enterprise ETL Tools,作者:Vitaliy Samofal

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2012-03-05 12:33:18

2009-07-17 09:17:41

IT運維SiteView游龍科技

2009-04-22 08:44:36

2013-03-11 10:54:05

2016-03-25 17:20:26

戴爾

2012-06-12 09:56:33

虛擬化

2010-08-20 14:48:37

.NET企業級架構

2011-12-06 14:44:02

iPad企業級解決方案

2015-08-04 17:31:46

戴爾云計算anycloud

2010-08-09 09:10:26

.NET企業級架構

2012-09-22 15:13:31

2013-08-28 09:24:09

企業級移動信息化解決方案

2010-03-30 14:45:26

戴爾解決方案創新中心上海

2013-04-19 10:05:24

2011-10-14 10:50:02

2010-02-06 13:56:34

以太網交換機

2012-05-03 18:06:52

SGI

2015-06-24 16:38:24

2009-11-23 20:16:25

ibmdwRational

2014-09-25 21:44:19

戴爾
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品一区二区福利视频 | 天天天操天天天干 | 国产精品亚洲一区二区三区在线观看 | 精精国产xxxx视频在线播放 | 欧美日韩国产一区二区三区 | 成人小视频在线观看 | 国产视频第一页 | 中文字幕av高清 | 天天操夜夜操 | 高清18麻豆 | 亚洲国产精品va在线看黑人 | 久久久久一区二区 | 青青久久 | 97国产爽爽爽久久久 | 99爱免费| 日韩精品中文字幕在线 | 精品免费国产视频 | 国产在线精品免费 | 91色视频在线观看 | 精品福利av导航 | 中文字幕亚洲视频 | 精品一级 | 久久久久av | 久久夜色精品国产 | 久久久久一区 | 国产精品九九 | 欧美国产视频 | 蜜桃精品噜噜噜成人av | 欧美成人免费 | 亚洲日本乱码在线观看 | 亚洲国产aⅴ精品 | 国产一区二区三区高清 | 亚洲国产成人精品久久 | 一级片子| 成人在线 | 久久大 | 免费看a| 国产在线观看 | av一级毛片 | 色嗨嗨 | 亚洲啪啪|