Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 如何获得PIG中一组字段的不同值?_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Apache Pig - Fatal编程技术网 elasticsearch 如何获得PIG中一组字段的不同值?,elasticsearch,apache-pig,elasticsearch,Apache Pig" /> elasticsearch 如何获得PIG中一组字段的不同值?,elasticsearch,apache-pig,elasticsearch,Apache Pig" />

elasticsearch 如何获得PIG中一组字段的不同值?

elasticsearch 如何获得PIG中一组字段的不同值?,elasticsearch,apache-pig,elasticsearch,Apache Pig,是否有可能在清管器中获得以下输出?我能在第一和第二栏位使用分组,然后在第三栏位进行区分吗 For example I have input data 12345|9658965|52145 12345|9658965|52145 12345|9658965|52145 23456|8541232|96589 23456|8541232|96585 I want output something like 12345|9658965|52145 23456|854123

是否有可能在清管器中获得以下输出?我能在第一和第二栏位使用分组,然后在第三栏位进行区分吗

For example
I have input data

12345|9658965|52145
12345|9658965|52145
12345|9658965|52145
23456|8541232|96589
23456|8541232|96585



 I want output something like

    12345|9658965|52145
    23456|8541232|96589
    23456|8541232|96585

方法1:使用不同的方法

Ref:

不同的运算符应该有帮助

test = LOAD 'test.csv' USING PigStorage('|');
distinct_recs = DISTINCT test;
DUMP distinct_recs;
方法2:按所有字段分组

test = LOAD 'test.csv' USING PigStorage('|');
grp_all_fields = GROUP test BY ($0,$1,$2);
uniq_recs = FOREACH grp_all_fields GENERATE FLATTEN(group);
DUMP uniq_recs;
这两种方法都给出了共享输入的预期输出。

试试看,它非常相似:

A = LOAD 'test.csv' USING PigStorage('|') as (a1,a2,a3);
    unique  =
        FOREACH (GROUP A BY a3) {
            b = A.(a1,a2);
            s = DISTINCT b;
            GENERATE FLATTEN(s), group AS a4;
        };

嗨,我试过猪的独特功能。它也会删除不明显的记录。它只给出了一个23456 | 8541232 | 96585的实例,而不是两个。它有帮助吗?如果有,你可以接受这个作为答案,否则就分享这个问题faced@pd123:您能否共享您尝试的代码,并且只获得一条记录?对于共享的输入,运行我共享的代码可以获得预期的输出。@pd123:用一种以上的方法更新代码以实现目标,请尝试一下。在我的测试运行中,我看到了这两种方法的预期输出。