Hadoop及其生态系统周围有很多炒作。但是,实际上,许多数据集都在Terabyte范围内,是否更合理地使用 亚马逊红移 为了查询大型数据集,而不是花费时间和精力建立Hadoop群集?

另外,亚马逊红移与Hadoop在设置复杂性,成本和性能方面有何比较?

有帮助吗?

解决方案

tl; dr: 它们在许多方面都明显不同,我不认为RedShift会取代Hadoop。

-功能
除了在Redshift上的SQL之外,您不能运行其他任何内容。也许最重要的是,您无法在RedShift上运行任何类型的自定义功能。在Hadoop中,您可以使用多种语言(Java,Python,Ruby ..您命名)。例如,Hadoop中的NLP很容易,而红移或多或少是不可能的。即,您可以在Hadoop中做很多事情,但在Redshift上不能做。这可能是最重要的区别。

- 绩效配置文件
在大多数情况下,对红移的查询执行比Hadoop上的效率要高得多。但是,这种效率来自将数据加载到红移时完成的索引(我正在使用该术语 indexing 这里很松散)。因此,如果您一次加载数据并执行多个查询,那就太好了,但是如果您只想执行一个查询,则实际上您可能会在整体上丢失。

- 成本配置文件
哪种解决方案的成本取决于情况(例如性能),但是您可能需要很多查询才能使其比Hadoop便宜(更具体地说是亚马逊的弹性地图减少)。例如,如果您正在做OLAP,那么红移很可能会更便宜。如果您每天进行批次ETL,那么Hadoop更有可能便宜。

话虽如此,我们已经取代了在hive to Redshift上进行的ETL的一部分,这是一次很棒的经验。主要是为了易于发展。 Redshift的查询引擎基于PostgreSQL,与Hive相比非常成熟。它的酸特性使其更容易推理,并且更快的响应时间可以进行更多的测试。这是一个很好的工具,但不会取代Hadoop。

编辑: :至于设置复杂性,我什至会说,如果您使用AWS的EMR,那么Hadoop会更容易。他们的工具是如此成熟,以至于让您的Hadoop工作运行非常容易。 Redshift操作周围的工具和机制还不那么成熟。例如,RedShift无法处理trick滴负载,因此您必须提出一些将其转化为批处理负载的东西,这可以为您的ETL增加一些复杂性。

其他提示

亚马逊红移的当前尺寸限制为128个节点或2个PBS的压缩数据。尽管行驶里程因压缩而有所不同,但可能是6%的未压缩。您总是可以让我们知道您是否需要更多。 Anurag@AWS(我运行Amazon Redshift和Amazon EMR)

就我个人而言,我认为建立一个Hadoop群集并不难,但是我知道当您入门时有时会很痛苦。

HDFS尺寸的限制远超过了TB(或者您的意思是Exabyte?)。如果我没记错的话,它会缩放到yottabytes或我什至不知道这个词的其他一些测量值。不管是什么,它真的很大。

像RedShift这样的工具有其位置,但我总是担心供应商特定的解决方案。我的主要关心总是是“当我对他们的服务不满意时该怎么办?” - 我可以去Google并将分析工作转移到他们的范式中,也可以去Hadoop并将同样的工作转移到该系统中。无论哪种方式,我都必须学习一些新知识,并做很多翻译事物的工作。

话虽如此,能够上传数据集并快速工作真是太好了 - 尤其是如果我所做的工作时间很短。亚马逊在回答数据安全问题方面做得很好。

如果您想避免Hadoop,总会有其他选择。但是,一旦您开始使用它并不是那么困难。

许可以下: CC-BY-SA归因
scroll top