2017-03-09 78 views
0

我們正在研究創建於AWS數據湖的解決方案 - 類似於在這裏概述 - https://aws.amazon.com/blogs/big-data/introducing-the-data-lake-solution-on-aws/ETL VS ELT亞馬遜紅移

我們將存儲在S3中所有的「原始」數據,並將其加載到EMR或根據需要進行紅移。

在這個階段,我找對是否使用ETL或ELT方法將數據加載到亞馬遜紅移建議。我們將使用Talend進行ETL/ELT。

我們應該首先將其轉化還是應該在S3轉換數據並將其裝載到紅移前階段紅移「原始」從S3的數據?

我將不勝感激任何建議/建議。

謝謝。

回答

2

絕對ELT。

只有ETL 可能更好的唯一情況是,如果您只是簡單地對原始數據進行一次掃描,然後使用COPY將其加載到Redshift中,然後不進行任何轉換。即使那樣,因爲你會將數據轉入和轉出S3,我懷疑這個用例會更快。

只要你需要過濾,加入,否則轉換信息,它的速度要快得多做的DBMS。如果您遇到數據轉換依賴數據倉庫中已有數據的情況,則數據轉換速度將快幾個數量級。

我們運行成百上千ELT作業的一天在不同的DW平臺,攝取的性能測試的替代方法和轉換數據。根據我們的經驗,MPP DW中ETL和ELT之間的差異可以達到2000%以上。

1

這取決於有Redshift的目的。如果您的商業案例是針對用戶針對Redshift(或使用Redshift作爲後端的前端應用程序)查詢數據,那麼我不會推薦在Redshift中執行ETL。在這種情況下,提前執行業務轉換會比較好(例如:S3-> EMR-> S3),然後將處理後的數據加載到Redshift。