我已经在 hive 中尝试了此UDF: UDFRowSequence
但是它没有产生唯一的值,即它根据映射器重复序列。
假设我在HDFS上有一个文件(具有4条记录)。它将为此工作创建一个映射器,结果将是
1个
2
3
4
但是当HDFS位置有多个文件(大文件)时,将为该作业创建多个映射器,并且将为每个映射器生成重复序列号,如下所示
1个
2
3
4
1个
2
3
4
1个
2


有什么解决办法,以便为每个记录生成唯一的编号

最佳答案

我认为您正在寻找ROW_NUMBER()。您可以阅读有关它以及其他“窗口”功能here的信息。

示例:

SELECT *, ROW_NUMBER() OVER ()
FROM some_database.some_table

关于hadoop - Hive中的序列号UDF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26885189/

10-16 01:29