大数据计算MaxCompute odps的插入数据语句,有办法根据as后的字段自动匹配么?-[阿里云_云淘科技]

大数据计算MaxCompute odps的插入数据语句,有办法根据as后的字段自动匹配么?不根据建表语句的字段顺序

建表语句字段 create table T ( a string, b string , c string)
插入数据 insert overwrite table T select 1 as c ,2 as b ,3 as a from xxx

希望结果是 a= 3 b=2 c =1
而不是建表字段顺序的 a =1 ,b = 2 ,c = 3

以下为热心网友提供的参考意见

在MaxCompute的ODPS中,可以使用lateral viewposexplode函数在MaxCompute的ODPS中,可以使用lateral viewposexplode函数来实现根据AS后的字段自动匹配。以下是一个示例:

INSERT OVERWRITE TABLE T
SELECT c, b, a
FROM (
    SELECT 1 AS c, 2 AS b, 3 AS a
    FROM xxx
) t
LATERAL VIEW posexplode(map_from_arrays(t.c, t.b, t.a)) t_map AS c, b, a;

这个查询首先使用lateral viewposexplode函数将数组中的每个元素拆分为多行,然后使用map_from_arrays函数将原始数据与拆分后的数据进行匹配。最后,将匹配后的数据插入到目标表中。

以下为热心网友提供的参考意见

测试了下,没办法用这个写法insert overwrite table T select 1 as c ,2 as b ,3 as a from xxx;是按照字段顺序写入的。大数据计算MaxCompute odps的插入数据语句,有办法根据as后的字段自动匹配么?-[阿里云_云淘科技]
如果可以调子查询中的顺序,能写进去大数据计算MaxCompute odps的插入数据语句,有办法根据as后的字段自动匹配么?-[阿里云_云淘科技]
,此回答整理自钉群“MaxCompute开发者社区2群”

本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/13729.html

(0)
匿名
上一篇 2023年12月10日
下一篇 2023年12月10日

相关推荐

新手站长从“心”出发,感谢16年您始终不离不弃。