如何在QuickSight中查看DynamoDB转Athena的对象数组数据?
解决QuickSight不支持对象数组类型的可视化方案
方法一:在Athena层展开数组(推荐用于需分析数组内字段的场景)
- 使用Athena的
UNNEST函数将对象数组拆分为独立行,同时保留原表的关联标识,示例SQL:
SELECT main_table.id, item.field_name1, item.field_name2 FROM main_table CROSS JOIN UNNEST(main_table.your_object_array_column) AS t(item)
- 执行上述查询后,将结果保存为Athena视图,再把该视图作为QuickSight的数据源,此时数组内的字段会被识别为常规数据类型,可直接用于可视化分析。
方法二:在QuickSight中直接用自定义SQL处理
- 连接Athena数据源时,选择「自定义SQL」选项,直接写入包含
UNNEST的拆分语句,无需提前创建Athena视图,生成的数据集可直接在QuickSight中使用。
方法三:将数组转为字符串展示(仅需查看原始内容时使用)
- 如果不需要对数组内字段做分析,仅需展示原始数组内容,可在Athena中将数组列转为JSON字符串,示例SQL:
SELECT id, JSON_FORMAT(your_object_array_column) AS array_content_str FROM main_table
- 转换后的字符串列可在QuickSight中作为文本字段展示,但无法进行维度拆分或聚合计算。
内容的提问来源于stack exchange,提问作者Ananya Shukla
相关产品推荐
相关产品推荐

