我已经在 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/