Apache pig 正在计算Pig中类别的实例数

Apache pig 正在计算Pig中类别的实例数,apache-pig,Apache Pig,我有一个传感器输出数据文件,如下所示: category <tab> instance <space> instance2 <space> ... instanceN category2 <tab> instanceX <space> instanceY <space> ... instanceZ 现在,对于每个实例,我需要计算有多少类别具有这个特定实例。 我对猪不熟悉,有人能建议我该如何处理这个问题吗?你能试试这个

我有一个传感器输出数据文件,如下所示:

category   <tab> instance <space> instance2 <space> ... instanceN
category2  <tab> instanceX <space> instanceY <space> ... instanceZ
现在,对于每个实例,我需要计算有多少类别具有这个特定实例。 我对猪不熟悉,有人能建议我该如何处理这个问题吗?

你能试试这个吗

input.txt
category        instance instance2 instanceN
category1       instanceX instanceY instanceZ
category2       instance instanceY

PigScript:
A = LOAD 'input.txt' USING PigStorage() AS (category:chararray,instances:chararray);
B = FOREACH A GENERATE category,FLATTEN(TOKENIZE(instances,' '));
C = GROUP B BY $1;
D = FOREACH C GENERATE group,COUNT($1);
DUMP D;

Output:
(instance,2)
(instance2,1)
(instanceN,1)
(instanceX,1)
(instanceY,2)
(instanceZ,1)

你能再描述一下你的数据吗?每行的列数是否相同?实例是否使用相同的分隔符?是的,分隔符是类别和实例列表的选项卡。在实例中,它由空格分隔。此外,列的长度也会有所不同。您的意思是,对于每个类别,您需要找到实例的总数?类别=,类别2=。请澄清?对于每个实例:实例,实例2。。。。instanceN实例X实例。。。。Z、 我需要计算有多少类别有这个特定的实例。因此,在一个类别下有多少行具有此实例。