我遇到了一些事情,表明您可以在 Hive 中编写分析函数。
例如:对于 wordcount 示例,我们也可以在 hive 中编写。不同之处在于,在 Aster 数据中它已经内置,而在 hive 中我们必须编写它。
会有什么不同?为什么要去哪个?
我遇到了一些事情,表明您可以在 Hive 中编写分析函数。
例如:对于 wordcount 示例,我们也可以在 hive 中编写。不同之处在于,在 Aster 数据中它已经内置,而在 hive 中我们必须编写它。
会有什么不同?为什么要去哪个?
有一项基于实验室研究的很好的研究,该研究比较了在 Teradata Aster 发现平台和 Hadoop/Hive 中开发和执行分析功能的时间。这些系统并排运行以显示适合每个系统的工作负载。有一个很好的例子,说明分析师的“生命中的一天”和所需的时间/努力。(披露:我为 Teradata 工作,它在 2 年前收购了 Aster Data)http://www.asterdata.com/resources /assets/ESG-Lab-Validation-Teradata-Aster-MapReduce-Platform.pdf
从理论上讲,是的,Hive 应该能够做所有与 Java 代码和 map-reduce 框架相同的事情。我不是 Hadoop/Hive 的用户,但我的理解是 Hive 是 Hadoop 之上的一层,Hive 所做的一切(包括用 Java 编写的分析扩展)都将被转换为 Hadoop 作业。您可能想询问 Hive 导向的问题,了解如何/需要做什么。
相反,Aster SQL/MR 是 Aster 数据库的本机。本地是指 Java 作为 Aster SQL/MR 框架的一部分在每个 Aster 节点内运行,而后者又是 Aster 数据库引擎的组成部分。所有数据操作都将与数据模型、数据分布键等保持一致。在 Aster 中,在使用其 SQL/MR 功能(包括基于 Java)时,用户永远不会离开 SQL 和数据模型的前提。同时 SQL/MR 对表定义是多态的,适用于任意模型(都在 Aster SQL 中)。也许您想研究这在 Hive 中是如何工作的。
需要说明的另一点是,Aster 提供了丰富的开箱即用的高级分析功能,因此可能不需要编写自定义 Java SQL/MR。因此,字数统计示例可以使用nGram
函数和聚合 SQL 来执行。