我正在努力连续演出"爆炸"函数在以下json结构
上 |-- DEF: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- PIT: array (nullable = true)
| | | |-- element: struct (containsNull = true)
| | | | |-- BIT: string (nullable = true)
| | | | |-- S_BIT: string (nullable = true)
| | | | |-- T_TYPE: string (nullable = true)
| | | | |-- edge: string (nullable = true)
| | | | |-- name: string (nullable = true)
| | | | |-- type: string (nullable = true)
| | |-- insDef: string (nullable = true)
| | |-- insName: string (nullable = true)
我想将PIT数组元素中的所有值提取到一个元组中,以便将它们设置为PIT对象(如果有更好的方法,请纠正我)。以下命令返回WrappedArray。但是我想要一个数组来对它执行map函数(将变量设置为类成员)。
FROM levelTable SELECT cat LATERAL VIEW explode(DEF.UPIT) table1 AS cat
UPDATE1: 以下命令返回所有" name"来自子元素PIT的值。
FROM levelTable SELECT cat LATERAL VIEW explode(DEF.UPIT[0].name) table1 AS cat
但我仍然希望将它们转换为元组数组(PIT.name,DEF.insName,DEF.insDef)