Быстрый взгляд, добавляющий вложенность в SQL-запрос, который вызывает ошибки в Афине - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь создать очень простую визуализацию в Quicksight, и для этого я использую SQL-запрос в Quicksight,

SELECT COUNT(distinct uuid), day
FROM analytics.myTable
GROUP BY day

К сожалению, всякий раз, когда я запускаю этот запрос в Quicksight, он не работаетиз-за следующей ошибки

от клиента AWS Athena.SYNTAX_ERROR: строка 2: 8: столбец '_col0' не может быть разрешен

Когда я смотрю в Афину, я вижу, что Quicksight «вкладывает» SQL-запрос ... именно это и вызывает ошибкув Афине

/* QuickSight 4da449cf-ffc6-11e8-92ea-9ffafcc3adb3 */
SELECT "_col0"
FROM (SELECT COUNT(distinct uuid)
FROM pregnancy_analytics.final_test_parquet) AS "DAU"

Чего я не понимаю, так это: а) почему это означает ошибку?б) почему Quicksight вкладывает SQL?

Если я просто запускаю команду непосредственно в Афине,

SELECT COUNT(distinct uuid) FROM analytics.myTable

Она действительно показывает имя столбца "_col0",

    _col0
1   1699174

, поэтому тот факт, что Quicksight выдает ошибку, на самом деле не должен быть проблемой.

Может кто-нибудь дать совет, как решить эту проблему?

Спасибо

1 Ответ

0 голосов
/ 18 декабря 2018

Зачастую в программном обеспечении для визуализации вам нужно явно указывать имена столбцов агрегата / функции, поскольку они по умолчанию обозначают такие вещи, как _col0, которые программа плохо анализирует, поэтому выдает эту ошибку.

В частности, я вижу это все время в Superset с использованием Presto.

Для вашей проблемы явно следует просто выполнить то, что рекомендовал Петр, просто добавив имя после COUNT(distinct uuid) - I 'Я неравнодушен к частоте, но похоже, что вы захотите что-то вроде uuid или unique_uuid:)

...