2017-03-09 97 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。