Hadoop 如何在多字段pig中连接两个关系

Hadoop 如何在多字段pig中连接两个关系,hadoop,apache-pig,hortonworks-sandbox,Hadoop,Apache Pig,Hortonworks Sandbox,我有两个CSV文件: 1-fertilliy.csv: 2-Life Expectence.csv: 我想加入他们的pig,结果如下: 我是新来的猪,我不能得到正确的答案,但这是我的代码: fertility = LOAD 'fertility' USING org.apache.hcatalog.pig.HCatLoader(); lifeExpectency = LOAD 'lifeExpectency' USING org.apache.hcatalog.pig.HCatLoa

我有两个CSV文件:

1-fertilliy.csv:

2-Life Expectence.csv:

我想加入他们的pig,结果如下:

我是新来的猪,我不能得到正确的答案,但这是我的代码:

fertility = LOAD 'fertility' USING org.apache.hcatalog.pig.HCatLoader();

lifeExpectency = LOAD 'lifeExpectency' USING   org.apache.hcatalog.pig.HCatLoader();

A = JOIN fertility by country, lifeExpectency by country; 

B = JOIN fertility by year, lifeExpectency by year; 

C = UNION A,B;

DUMP C; 
以下是我的代码的结果:

fertility = LOAD 'fertility' USING org.apache.hcatalog.pig.HCatLoader();

lifeExpectency = LOAD 'lifeExpectency' USING   org.apache.hcatalog.pig.HCatLoader();

A = JOIN fertility by country, lifeExpectency by country; 

B = JOIN fertility by year, lifeExpectency by year; 

C = UNION A,B;

DUMP C; 

您可以按国家和年份进行联接,并选择最终输出所需的必要列

fertility = LOAD 'fertility' USING org.apache.hcatalog.pig.HCatLoader();
lifeExpectency = LOAD 'lifeExpectency' USING   org.apache.hcatalog.pig.HCatLoader();

A = JOIN fertility by (country,year), lifeExpectency by (country,year); 
B = FOREACH A GENERATE  fertility::country,fertility::year,fertility::fertility,lifeExpectency::lifeExpectency;  
DUMP B; 

您可以按国家和年份进行联接,并选择最终输出所需的必要列

fertility = LOAD 'fertility' USING org.apache.hcatalog.pig.HCatLoader();
lifeExpectency = LOAD 'lifeExpectency' USING   org.apache.hcatalog.pig.HCatLoader();

A = JOIN fertility by (country,year), lifeExpectency by (country,year); 
B = FOREACH A GENERATE  fertility::country,fertility::year,fertility::fertility,lifeExpectency::lifeExpectency;  
DUMP B; 

谢谢,成功了。只要用转储B替换转储C,我就可以接受它作为正确答案。@AliZuhair更新。提前谢谢你的接受。谢谢你,它成功了。只要用转储B替换转储C,我就可以接受它作为正确答案。@AliZuhair更新。提前感谢您的接受。