PLSQL到PIG转换

时间:2015-06-16 07:07:44

标签: apache-pig

Select x,y,..,
     CASE(
     when A.A_code = 'G' THEN
                            COUNT(DISTINCT CASE
                                    WHEN T.trxn = 'P' THEN
                                     D.A || D.B || D.C 
                                     ELSE
                                     NULL
                                  END)
                          else
                            0
                          end p_count,..From..

是我的plsql查询结构。我需要转换它。

我已完全转换内部案例查询成功并执行,

plsql案例条件的内部查询将在PIG中变为

T = LOAD '//transaction_types' USING PigStorage(',') as (id:int,trxn:chararray);

D = LOAD '/home/sterlingpc1/Desktop/det_trades' USING PigStorage(',') as (id:int,A:chararray,B:chararray,C:chararray);

JOINED = JOIN T by id,D by id;

p_count = FOREACH JOINED  GENERATE 
                  (case T::trxn
                       WHEN 'P'
                       THEN
                       CONCAT(D::A,D::B,D::C)
                       ELSE
                   NULL
                       END)

在此之前,我需要检查外部条件(A.A_code ='G')。 它看起来像条件​​。 但是我们需要检查的表字段是不同的。它们来自不同的表 请指导我如何首先检查A.A_code ='G'。然后只执行内部查询。

请尽快给我一个解决方案。提前谢谢!

0 个答案:

没有答案