我有一个要求,我想要生成具有以下要求的字段a1,a2,a3,a4,a5的表A(将其视为来自我们需要生成代码和表单的其他团队的映射A)。
a1 =>来自表B =>的字段b1。从B
中选择b1a2 =>来自表B =>的字段b2。从B
中选择b2a3 =>来自表C =>的字段c1。从C
中选择c1a4 =>表D JOIN的字段d1来自表C,其中c.c1 = D.id
a5 =>来自某些功能,即某些UDF
在SparkSQL或Hive中实现此目的的最佳方法是什么?如果我为上述每个语句创建一个列的数据帧,然后最终从这5个数据帧创建单个数据帧,这会好吗?另外,注意a1和a2可以用一个查询创建=> a1,a2 =从B中选择b1,b2(如何指定这个OR,即使a1和a2是使用顶部所述的两个不同的SQL语句派生出来的,也会在内部处理这个优化?)