对于大多数用例,可以使用 Amazon EMR 对流数据或有界数据(例如来自 Amazon S3)进行 Spark 转换,然后可以使用转换后的数据再次将数据写入 S3。
转换也可以在 Amazon Redshift 中实现,使用来自 S3 的不同数据加载到不同的 Redshift 表,然后将来自不同 Redshift 表的数据加载到最终表。(现在有了 Redshift 光谱,我们也可以直接从 S3 中选择和转换数据。)
话虽如此,我看到转换可以在 EMR 和 Redshift 中完成,Redshift 加载和转换可以用更少的开发时间完成。
那么,EMR 是否应该用于主要涉及流/无限数据的用例?什么其他用例更适合 EMR(我知道 Spark 也提供其他核心、sql、ml 库),但只是为了实现转换(涉及连接/减速器),我没有看到除此之外的用例在 EMR 中进行流式传输,此时在 Redshift 中也可以实现转换。
请提供使用 EMR 转换与 Redshift 转换的用例。