apache hive和Aster数据在分析函数方面有什么区别?

时间:2013-07-04 09:12:29

标签: hiveql teradata-aster sql-mr

我遇到的东西表明你可以在Hive中编写分析函数。

例如:对于wordcount示例,我们也可以在hive中编写。 不同之处在于Aster数据已经内置,而在hive我们必须编写它。

有什么区别?为什么要去哪?

2 个答案:

答案 0 :(得分:1)

基于实验室研究进行了一项很好的研究,该研究比较了在Teradata Aster发现平台和Hadoop / Hive中开发和执行分析功能的时间。这些系统并排运行,以显示适合每个系统的工作负载。有一个很好的工作实例,分析师的“生命中的一天”和所需的时间/精力。(披露:我为2年前收购Aster Data的Teradata工作)http://www.asterdata.com/resources/assets/ESG-Lab-Validation-Teradata-Aster-MapReduce-Platform.pdf

答案 1 :(得分:0)

理论上,是的,Hive应该能够完成与功能Java代码和map-reduce框架相同的功能。我不是Hadoop / Hive的用户,但我的理解是Hive是Hadoop之上的一层,而Hive所做的一切(包括用Java编写的分析扩展)将被转换为Hadoop作业。您可能想要询问Hive指导的问题,了解如何/如何做到这一点。

相反,Aster SQL / MR是Aster数据库的原生。原生我的意思是Java作为Aster SQL / MR框架的一部分在每个Aster节点内运行,而Aster SQL / MR框架又是Aster数据库引擎的组成部分。所有数据操作都将与数据模型,数据分发键等保持一致。在Aster中,当使用其SQL / MR函数(包括基于Java)时,用户永远不会留下SQL和数据模型的前提。同时,SQL / MR对于适用于任意模型的表定义是多态的(所有模型都在Aster SQL中)。也许你想调查它在Hive中的运作方式。

另一个要点是,Aster提供了丰富的高级分析功能,因此可能不需要编写自定义Java SQL / MR。因此,可以使用nGram函数和聚合SQL来执行字数统计示例。