1

我正在尝试在 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 引发错误的事实实际上不应该成为问题。

有人可以就如何解决此问题提供一些建议吗?

谢谢

4

2 回答 2

2

您可以修改查询以显式命名聚合列,然后查询将起作用。

例子:

SELECT COUNT(distinct uuid) as "distinct_uuid", day
FROM analytics.myTable
GROUP BY day
于 2020-03-29T17:21:20.143 回答
1

通常在可视化软件中,您需要明确命名聚合/函数包装的列,因为它们默认为软件无法很好解析的 _col0 之类的东西,因此会引发该错误。

具体来说,我一直在使用 Presto 的 Superset 中看到这一点。

对于您的问题,您应该只执行 Piotr 建议的操作,即在之后添加一个名称COUNT(distinct uuid)- 我偏爱 freq,但看起来您需要 uuid 或 unique_uuid 之类的东西 :)

于 2018-12-18T18:49:39.143 回答