2016-04-08 22 views
0

Ben bir şema değiştirmek çalışıyorum:değiştir domuz şema

describe JOINED_WITH_PARENT; 
JOINED_WITH_PARENT: {ROWS_TUPLES::id: chararray,ROWS_TUPLES::url: chararray,ROWS_TUPLES::score: chararray,ROWS_TUPLES::parentId: chararray,ROWS_TUPLES::title: chararray,ROWS_TUPLES::body: chararray,GROUPED_PARENT_ID::group: chararray,GROUPED_PARENT_ID::ROWS_TUPLES: {(id: chararray,url: chararray,score: chararray,parentId: chararray,title: chararray,body: chararray)}} 

için:

JOINED_WITH_PARENT: {id: chararray,url: chararray,:score: parentId: chararray,title: chararray,body: chararray,group: chararray, answers: {(id: chararray,url: chararray,score: chararray,parentId: chararray,title: chararray,body: chararray)}} 

Ben JOINED_WITH_PARENT bir foreach yapmanın düşünme ve aşağıdaki ile çalışıldı, fakat sözdizimi yapar doğru görünmüyor. Doğru yolda mıyım? Herhangi bir yardım büyük ölçüde sadece türünü belirtmek should't alanları yansıtmak istiyorsanız

A = FOREACH JOINED_WITH_PARENT GENERATE 
    id as (id:chararray), 
    score as (score:chararray), 
    parentId as (parentId:chararray), 
    title as (title:chararray), 
    body as (body:chararray), 
    group as (group:chararray), 
    answers as tuple(chararray,chararray,chararray,chararray,chararray)GROUPED_PARENT_ID::ROWS_TUPLES; 

cevap

0

takdir ve çıkıntı gibi bir böyle "kaynak" ilişkisi, belirtme ihtiyacını katılmak olacaktır:

A = FOREACH JOINED_WITH_PARENT GENERATE 
    ROWS_TUPLES::id as id, 
    ROWS_TUPLES::score as score, 
    ... 
    GROUPED_PARENT_ID::ROWS_TUPLES as answers; 
+0

küçük bir gözlem: HERWAYS kaynak ilişkisinden söz ederken, bu gerekli değildir. Sadece alan adı her iki kaynakta olduğunda gerçekten gerekli. –

+0

Mükemmel Teşekkür ederim. Keşke oy verebilseydim – user6092934