Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache pig 如何删除Pig中具有约束的重复项?_Apache Pig - Fatal编程技术网

Apache pig 如何删除Pig中具有约束的重复项?

Apache pig 如何删除Pig中具有约束的重复项?,apache-pig,Apache Pig,我对猪完全是新手,我遇到了一些麻烦 我有一个数据列表,我想删除重复的数据。但是,关键是重复项是通过具有相同的用户名和相同阈值内的访问时间来定义的。例如: 答:[用户1,10] B:[用户1,20] C:[用户1,11] D:[用户2,10] 如果阈值为2,则应将A和C标识为重复项。在猪身上我该怎么做?目前看来,我应该使用UDF和DISTINCT的某种组合,但我不确定如何告诉DISTINCT我想将“复制”定义为什么 谢谢 a=load 'data' as (user, access_time:in

我对猪完全是新手,我遇到了一些麻烦

我有一个数据列表,我想删除重复的数据。但是,关键是重复项是通过具有相同的用户名和相同阈值内的访问时间来定义的。例如:

答:[用户1,10]

B:[用户1,20]

C:[用户1,11]

D:[用户2,10]

如果阈值为2,则应将A和C标识为重复项。在猪身上我该怎么做?目前看来,我应该使用UDF和DISTINCT的某种组合,但我不确定如何告诉DISTINCT我想将“复制”定义为什么

谢谢

a=load 'data' as (user, access_time:int) using ...;
b=foreach a generate user as user, (access_time > $threshold ? $threshold : access_time) as access_time;
c=group b by user;
d=foreach c generate group as user, FLATTEN(DISTINCT(b.access_time)) as access_time;
store d;
我没有测试脚本,但想法是按用户分组,将高于阈值的所有内容替换为阈值,然后使用内置的独特UDF。

你说的“阈值”是什么意思?你是说“距离”吗?