日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
比較五款企業(yè)級(jí)ETL工具,助你選出適合項(xiàng)目的解決方案

在商業(yè)環(huán)境中,隨著各類數(shù)據(jù)量的不斷猛增,企業(yè)對(duì)于那些以ETL為基本要素的數(shù)據(jù)倉庫項(xiàng)目和高級(jí)分析系統(tǒng)的需求也在不斷增多。此處ETL所對(duì)應(yīng)的是數(shù)據(jù)倉庫的三個(gè)概念:提取(Extracting)、轉(zhuǎn)換(Transforming)和加載(Loading)。其主要流程包括:

創(chuàng)新互聯(lián)公司公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元朝天做網(wǎng)站,已為上家服務(wù),為朝天各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

  1. 從不同的外部源提取數(shù)據(jù)。
  2. 將數(shù)據(jù)轉(zhuǎn)換為所需的業(yè)務(wù)模型。
  3. 將數(shù)據(jù)加載到新的倉庫之中。

可見,ETL是整個(gè)數(shù)據(jù)遷移任務(wù)的一個(gè)子集。在《數(shù)據(jù)倉庫ETL工具包(Warehouse ETL Toolkit)》一書中(請(qǐng)?jiān)斠奾ttps://www.amazon.com/Data-Warehouse-ETL-Toolkit-Techniques-Extracting/dp/0764567578),定義了ETL的三個(gè)基本特征:

  • 以適當(dāng)?shù)母袷较螺d數(shù)據(jù),并予以分析。
  • 它包含有許多額外的信息。
  • 系統(tǒng)會(huì)記錄數(shù)據(jù)的來源。

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

ETL的流程步驟

通常,Web程序員可以將ETL架構(gòu)想象成如下圖所示的三個(gè)區(qū)域:

  • 數(shù)據(jù)源。
  • 中間區(qū)域。
  • 數(shù)據(jù)接收器。

數(shù)據(jù)流從源頭向接收器移動(dòng)。由于每個(gè)階段都非常復(fù)雜,因此創(chuàng)建ETL軟件的過程往往會(huì)包括如下不同的挑戰(zhàn):

  1. 外部數(shù)據(jù)源的多樣性。
  2. 需要根據(jù)業(yè)務(wù)規(guī)則來統(tǒng)一數(shù)據(jù)。
  3. 更新頻率和其他具體的要求。

因此,普通IT公司需要清楚地了解數(shù)據(jù)源的結(jié)構(gòu),并配備相應(yīng)的目標(biāo)應(yīng)用。

一個(gè)ETL示例

常見的ETL任務(wù)是將數(shù)據(jù)從關(guān)系數(shù)據(jù)庫管理系統(tǒng)(Relational Database Management System,RDBMS)傳輸?shù)搅硪粋€(gè)更適合于商業(yè)智能工具的數(shù)據(jù)庫中。因此,ELT的作業(yè)可分為兩種類型:

  1. 批量作業(yè)
  2. 流式作業(yè)

其中,流式作業(yè)的一個(gè)例子是:從RDBMS中獲取數(shù)據(jù),逐個(gè)且單獨(dú)地傳輸出去,以備后期處理。否則,我們認(rèn)為它屬于批量處理的范疇。例如:您可以先獲取整個(gè)文件,再對(duì)其進(jìn)行處理,***將其保存到更大的文件中??梢哉f,不同的ETL系統(tǒng)會(huì)以不同的方式處理上述任務(wù)。

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

同時(shí),由于ETL能夠?qū)?shù)據(jù)成功地集成到各種數(shù)據(jù)庫和應(yīng)用之中,而各種琳瑯滿目的云端數(shù)據(jù)集成工具,經(jīng)常會(huì)讓我們難以做出選擇,因此我在此為大家羅列和比較了五款企業(yè)級(jí)ETL工具的優(yōu)缺點(diǎn),希望能夠幫助您找出最適合手頭項(xiàng)目的解決方案。

1. Apache Nifi

定價(jià) :免費(fèi)

官方網(wǎng)站:https://nifi.apache.org/

實(shí)用資源:文檔,教程。

優(yōu)點(diǎn):

  • ***地實(shí)現(xiàn)了數(shù)據(jù)流的編程概念。
  • 能夠處理二進(jìn)制數(shù)據(jù)。
  • 提供數(shù)據(jù)來源(Data Provenance)。

缺點(diǎn):

  • 用戶界面過于簡單。
  • 缺乏實(shí)時(shí)監(jiān)控和逐條記錄的統(tǒng)計(jì)數(shù)據(jù)。

由Apache Software Foundation開發(fā)的開源項(xiàng)目--Apache NiFi可謂是***的ETL工具之一。由于基于數(shù)據(jù)流的編程概念,因此它能夠讓我們?cè)赽oxes中可視化地組裝各種程序,并在幾乎不需要任何代碼的情況下運(yùn)行起來。在這一點(diǎn)上,您完全可以不必了解任何編程語言。

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

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

該ETL工具既有助于用戶創(chuàng)建長期運(yùn)行(long-running)的作業(yè),又適用于處理流式數(shù)據(jù)和一些周期性的批處理。不過,對(duì)于那些手動(dòng)式管理任務(wù)而言,用戶在設(shè)置NiFi時(shí),可能會(huì)碰到一些麻煩。

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

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

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

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

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

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

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

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

2. Apache StreamSets

定價(jià):免費(fèi)

官方網(wǎng)站:https://streamsets.com

實(shí)用資源:文檔,教程,開發(fā)者支持論壇,源代碼

優(yōu)點(diǎn):

  • 每個(gè)處理器都有基于單條記錄的統(tǒng)計(jì)信息,且具有友好的可視化調(diào)試效果。
  • 用戶界面非常友好。
  • 提供流式和基于記錄的數(shù)據(jù)工具。

缺點(diǎn):

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

Apache StreamSets可謂Apache NiFi的強(qiáng)有力競爭對(duì)手,我們很難說出誰更勝一籌。

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

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

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

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

我個(gè)人感覺:由于缺少了針對(duì)JDBC設(shè)置的Controller Services,因此在調(diào)整每一個(gè)處理器時(shí),都會(huì)讓人覺得有些棘手。

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

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

3. Apache Airflow

定價(jià) :免費(fèi)

官方網(wǎng)站:https://airflow.apache.org

實(shí)用資源:教程

優(yōu)點(diǎn):

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

缺點(diǎn):

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

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

在使用Python來編寫工作流代碼時(shí),您不必?fù)?dān)心XML或GUI拖放等問題,這些步驟具有一定的智能性。作為一款靈活的任務(wù)調(diào)度程序,Airflow可以被用在許多API之中,以實(shí)現(xiàn)訓(xùn)練ML模型、發(fā)送通知、跟蹤系統(tǒng)、以及增強(qiáng)函數(shù)等目的。

該平臺(tái)具有如下主要特點(diǎn):

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

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

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

該平臺(tái)具有可視化元素的時(shí)尚UI。您可以查看所有正在運(yùn)行的管道,跟蹤進(jìn)度并修復(fù)錯(cuò)誤。這些都有助于用戶完成DAG上的復(fù)雜任務(wù)。

雖然該結(jié)構(gòu)比ETL數(shù)據(jù)庫更具動(dòng)態(tài)性,但是它能夠提供穩(wěn)定的工作流。因此,如果您將工作流定義為代碼的話,它們將更具有協(xié)作性、可版本化、可測試性和可維護(hù)性。

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

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

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

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

總而言之,Apache Airflow是一款由Python編寫的免費(fèi)獨(dú)立框架。如果您想單獨(dú)運(yùn)行Airflow的話,則會(huì)面臨一些挑戰(zhàn),因此您***使用一些不同的運(yùn)算符。

4. AWS Data Pipeline

定價(jià):不定,請(qǐng)參見https://aws.amazon.com/datapipeline/pricing/

官方網(wǎng)站:https://aws.amazon.com/datapipeline/

實(shí)用資源:文檔,社區(qū)論壇

優(yōu)點(diǎn):

  • 易用的ETL技術(shù)
  • 價(jià)格合理
  • 靈活性好

缺點(diǎn):

  • 沒有太多內(nèi)置函數(shù)

該Web服務(wù)確保了數(shù)據(jù)在AWS計(jì)算資源和各種數(shù)據(jù)源之間的處理和移動(dòng)。它能夠?qū)σ汛鎯?chǔ)的數(shù)據(jù)提供***的訪問與轉(zhuǎn)換。其最終結(jié)果也可以被轉(zhuǎn)移到諸如:Amazon DynamoDB、Amazon RDS、Amazon EMR和Amazon S3等服務(wù)之中。該ETL工具簡化了創(chuàng)建復(fù)雜數(shù)據(jù)處理負(fù)載的相關(guān)過程,有助于實(shí)現(xiàn)可重復(fù)、高可用且可靠的用例負(fù)載(case-load)。

AWS Data Pipeline能夠移動(dòng)和處理那些被鎖在本地?cái)?shù)據(jù)孤島中的數(shù)據(jù)。Amazon號(hào)稱其ETL工具有如下六項(xiàng)主要優(yōu)勢:

  • 準(zhǔn)確性
  • 簡單性
  • 適應(yīng)性
  • 價(jià)錢合理
  • 可擴(kuò)展性
  • 透明度

AWS Data Pipeline是一種可靠的服務(wù),它能夠在發(fā)生故障時(shí),自動(dòng)對(duì)各種活動(dòng)進(jìn)程進(jìn)行重試。通過配置,您可以通過Amazon SNS接收到運(yùn)行成功、延時(shí)或失敗等通知。

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

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

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

5. AWS Glue

定價(jià):不定,請(qǐng)參見https://aws.amazon.com/glue/pricing/

官方網(wǎng)站:https://aws.amazon.com/glue/

實(shí)用資源:教程

優(yōu)點(diǎn):

  • 支持各種數(shù)據(jù)源。
  • 與AWS的各種服務(wù)有良好的集成。

缺點(diǎn):

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

AWS Glue允許您在AWS管理控制臺(tái)中創(chuàng)建和運(yùn)行一項(xiàng)ETL作業(yè)。該服務(wù)能夠從AWS中獲取各種數(shù)據(jù)和元數(shù)據(jù),并通過放入相應(yīng)的類目,以供ETL進(jìn)行搜索、查詢和使用。整個(gè)過程分為如下三個(gè)步驟:

  • 通過構(gòu)建類目(包括JSON、CSV、Parquet和許多其他格式)對(duì)數(shù)據(jù)進(jìn)行分類。
  • 生成ETL代碼和各種編輯轉(zhuǎn)換(可用Scala或Python編寫)。
  • 調(diào)度和運(yùn)行各種ETL作業(yè)。

這款ETL工具具有如下三個(gè)主要優(yōu)點(diǎn):

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

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

如何選擇正確的ETL工具

InfoWorld曾斷言:在構(gòu)建數(shù)據(jù)倉庫系統(tǒng)的方面,ETL的成本占比***。用戶需要特別關(guān)注由它所產(chǎn)生的瓶頸。因此,只有恰當(dāng)?shù)貙?shí)施ETL,才能優(yōu)化企業(yè)的成本和加快員工的工作效率。***,我為您列出如下五個(gè)方面,供您在選用ETL工具時(shí)進(jìn)行參考:

  • 系統(tǒng)的復(fù)雜性。
  • 您的數(shù)據(jù)要求。
  • 開發(fā)者的經(jīng)驗(yàn)。
  • ETL的技術(shù)成本。
  • 特殊的業(yè)務(wù)需求。

本文題目:比較五款企業(yè)級(jí)ETL工具,助你選出適合項(xiàng)目的解決方案
地址分享:http://www.5511xx.com/article/dpsshgc.html