Apache pig PLSQL到清管器的转换
是我的plsql查询结构。我需要转换它 我已经成功地转换了内部案例查询,并执行了它 plsql案例条件的内部查询将变为PIG形式Apache pig PLSQL到清管器的转换,apache-pig,Apache Pig,是我的plsql查询结构。我需要转换它 我已经成功地转换了内部案例查询,并执行了它 plsql案例条件的内部查询将变为PIG形式 Select x,y,.., CASE( when A.A_code = 'G' THEN COUNT(DISTINCT CASE WHEN T.trxn = 'P' THEN
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..
在此之前,我需要检查外部条件(A.A_code='G')。
看起来情况很糟。
但是我们需要检查的表字段是不同的,它们来自不同的表
请指导我如何先检查A.A_代码='G'。然后只执行内部查询
请尽快给我一个解决方案。提前谢谢 我编辑了猪的剧本。请立即检查。已执行转换的PIG脚本。但在此之前,我需要检查when条件。我怎样才能用PIG来提到它?请给我一个想法。如果你不理解我的要求,我会再解释一遍。将你写的内容格式化为一个问题。用PIG拉丁语给我一个嵌套case条件的例子。我得到了猪案例陈述的简单代码。需要转换Case(Case…End)End;。
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)