在 athena/presto 中将数组(varchar)转换为 varchar

Posted

技术标签:

【中文标题】在 athena/presto 中将数组(varchar)转换为 varchar【英文标题】:Converting array(varchar) to varchar in athena/presto 【发布时间】:2021-09-10 13:39:58 【问题描述】:

如何在 athena/presto 中将 array(varchar) 转换为 varchar?

我的数组(varchar)数据看起来像这样

col_1 col_2
[hello_world] [hello_hello]

由于在之前创建表时应用了 multimap_agg 函数,它是数组(varchar)格式。

当我尝试这个命令时:

select cast(col_1 as varchar) from table

我收到以下错误消息:

SYNTAX_ERROR:第 1:8 行:无法将数组(varchar)转换为 varchar

我将如何使用 Athena/Presto 实现这一目标

谢谢

【问题讨论】:

您的示例只包含一个元素,那么为什么不直接使用element_at()? docs.aws.amazon.com/athena/latest/ug/… 【参考方案1】:

要将数组转换为atring,请使用array_join()

select [array_join(col_1, ' ')][1]

【讨论】:

是的,确切地说:docs.aws.amazon.com/athena/latest/ug/…

以上是关于在 athena/presto 中将数组(varchar)转换为 varchar的主要内容,如果未能解决你的问题,请参考以下文章

在 Athena/Presto 中将 JSON 转换为 ARRAY<MAP>

Athena/Presto:复杂结构/数组

Athena (Presto) SQL 窗口函数

AWS Athena (Presto) 偏移支持

我可以在写之前使用 Athena / Presto 对表格进行排序吗?

Athena/Presto Escape 下划线