我正在对一些旧的SQL算法进行逆向工程,以迁移到Apache Spark。
我遇到了一个跨应用程序,据我了解它是TSQL特定的,并且在ANSII或Spark SQL中没有直接等效项。
经过清理的算法是:
JSON.stringify(textareaValue);
因此对于别名b中的每一行,我们交叉应用于内部查询。
是否可以根据联接操作(或其他方式)重写交叉应用,以便可以在spark sql中重新实现?
欢呼
特里
答案 0 :(得分:0)
似乎您可以按以下方式重写查询:
SELECT T1.col1,
T1.col2,
sq.col3Sum
FROM tbl1 T1
CROSS JOIN (SELECT SUM(T1sq.Col3) AS col3Sum
FROM tbl1 T1sq
JOIN tbl2 T2 ON T1sq.Col1 = T2.Col2
JOIN tbl3 T3 ON T2.col1 = T3.Col1) sq;
奇怪的是,在对JOIN
的2个引用之间没有tbl1
准则。