2016-04-11 13 views

cevap

2

İlk alanın ikinci karakterinden ikinci alan oluşturur ve ardından ikinci alanla sıralar. Sırayla yalnızca ilk ilişkiyi alan ilişkiden alırsınız.

A = LOAD 'test3.txt' USING PigStorage('\t') as (a1:chararray); 
B = FOREACH A GENERATE a1,SUBSTRING(a1,1,2) as a2; 
C = ORDER B BY a2; 
D = FOREACH C GENERATE a1; 
DUMP D; 

Çıktı

Output

+0

olduğunu ... :) –

+0

o oyunu hak ediyorsun ... Dizenin büyüklüğünü bulmaya çalışıyordum ... yani uzunluk fonksiyonu ... UDF yazmam gerektiğini düşündüm ya da ne ve ben bu var ..SIZE işlevi ... :) –

+0

Merak etme, ben de öğreniyorum :). $ 0 kullanarak ilk alana erişmek için cevabınızı düzenlemek isteyebilirsiniz. –

0

My verileri farkı görebilirsiniz ... önce bunu yaptı ... Aynı cevaplamak üzere olduğu

1,The Nightmare Before Christmas 
2,The Mummy 
3,Orphans of the Storm 
4,The Object of Beauty 

    A = LOAD '/home/abhijit/Downloads/movies.txt' USING PigStorage(',') as (a1:int,a2:chararray); 
    B = FOREACH A GENERATE a2,SUBSTRING(a2,1,2) as a3; 
    C = ORDER B BY a3; 
    D = FOREACH C GENERATE a2; 
    DUMP D; 
+0

Tamam. Burada kendi verilerim var ... Yapıştırıcam ... yani herhangi bir karışıklık olmayacak ... –

+0

@inquisitive_mind: Bu doğru mu ... Yoksa herhangi bir değişikliğe ihtiyaç duyuyor ... Bunu test edemiyorum :( –

İlgili konular