我正在尝试在Quicksight中创建非常简单的可视化效果,为此,我在Quicksight中使用了SQL查询,
SELECT COUNT(distinct uuid), day
FROM analytics.myTable
GROUP BY day
不幸的是,每当我在Quicksight中运行此查询时,由于以下错误,该查询都会失败
来自AWS Athena客户端。 SYNTAX_ERROR:第2:8行:“ _ col0”列 无法解决
当我查看Athena时,我可以看到Quicksight正在“嵌套” SQL查询...这就是导致Athena中错误的原因,
/* QuickSight 4da449cf-ffc6-11e8-92ea-9ffafcc3adb3 */
SELECT "_col0"
FROM (SELECT COUNT(distinct uuid)
FROM pregnancy_analytics.final_test_parquet) AS "DAU"
我不明白的是: a)为什么这会标记错误? b)为什么Quicksight会嵌套SQL?
如果我只是直接在Athena中运行命令,
SELECT COUNT(distinct uuid) FROM analytics.myTable
它确实显示了列名“ _col0”,
_col0
1 1699174
因此,Quicksight引发错误的事实实际上应该不是问题。
有人可以提供一些有关如何解决此问题的建议吗?
谢谢
答案 0 :(得分:2)
您可以修改查询以显式命名聚合列,然后查询将起作用。
示例:
SELECT COUNT(distinct uuid) as "distinct_uuid", day
FROM analytics.myTable
GROUP BY day
答案 1 :(得分:0)
通常在可视化软件中,您将需要显式地命名聚合/函数包装的列,因为它们默认为_col0之类的东西,该软件无法很好地解析,因此会引发该错误。
具体地说,我一直在使用Presto在Superset中看到这一点。
对于您的问题,您应该按照Piotr的建议进行操作,即在COUNT(distinct uuid)
之后添加一个名称-我偏爱freq,但看起来您会想要uuid或unique_uuid之类的东西:)