我有一张 table

name            string
address         string
timezone        string
one_key_value   array<struct<key:string,value:array<string>>
two_key_value   array<struct<key:string,value:array<string>>

并希望将其转换为
name            string
address         string
timezone        string
one_key_value   map<string,array<string>>
two_key_value   map<string,array<string>>

使用presto。有lateral view inline,但实际上并没有真正起作用。我怎样才能做到这一点?

最佳答案

根据提供的信息,您基本上需要两件事:

  • 升级到最新版本-来自Maven Central/Github的最新消息,或者来自https://www.starburstdata.com/starburst-presto-sql/的受Starburst支持(免费)的发行版(免责声明:我来自Starburst)。
    0.175确实有点过时了。
  • 使用map_from_entries(one_key_value)(docs:https://trino.io/docs/current/functions/map.html#map_from_entries)
  • 关于sql - Presto:将array <struct <key:string,value:array <string >>>转换为map <string,array <string >>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52993499/

    10-11 10:19