【问题标题】:AWS QuickSight custom SQL query on AthenaAthena 上的 AWS QuickSight 自定义 SQL 查询
【发布时间】:2021-06-07 03:18:00
【问题描述】:

我有一个管道,AWS Kinesis Firehose 在其中接收数据,根据 Athena 表将其转换为 parquet 格式,然后根据日期分区(date_int:YYYYMMdd)将其存储在 S3 存储桶中。每当将新数据添加到存储桶中时,都会触发 lambda 以检查 Athena 是否已经知道该分区。一切似乎都运行良好;在 Athena 中,我可以运行查询(见下文)并收到最新数据。

雅典娜查询:SELECT * FROM "my_table" WHERE "date_int" >= 20210308
(在屏幕左侧选择了正确的数据源和数据库)

现在我想在 Quicksight 中可视化数据。我可以使用 SPICE 或直接查询,再次,一切似乎都工作正常。但是,我对数据进行了分区,因为我只需要上个月的数据点。在 Quicksight 中,我创建了一个新数据集,选择正确的目录/数据库/表,然后单击“使用自定义 SQL”。然后,当我运行查询时,我总是从 Athena 客户端收到一个错误,说找不到表。当我查看网络选项卡时,我看到执行的查询是: /* QuickSight */SELECT ds.* FROM ( SELECT * FROM "my_table" ) ds LIMIT 0
然后错误消息说: Table awsdatacatalog.default.my_table does not exist

奇怪的是,我没有说它应该查看“默认”数据库。我选择“awsdatacatalog”作为数据源,选择“my_database”作为数据库。当我尝试更精确并在 select 语句(“awsdatacatalog.my_database.my_table”)中指定数据源和数据库时,错误消息将显示“awsdatacatalog.default.awsdatacatalog.my_database.my_table”。

其他人有同样的问题吗?这是一个错误,还是我只是错过了什么?

【问题讨论】:

  • 您可以尝试在docs.aws.amazon.com/athena/latest/ug/…中为您的工作组选择覆盖客户端设置来尝试
  • 感谢您的回复!不幸的是,它没有修复它,仍然是同样的错误。
  • 尝试 SELECT * FROM database_name.table_name。没有目录。
  • 不幸的是,也不起作用。它始终会添加“awsdatacatalog.default”。目前,我通过使用 athena 聚合并快速阅读单独的表格来解决大部分问题。

标签: sql amazon-web-services amazon-athena amazon-quicksight


【解决方案1】:

使用 datasource.database_name.table_name 对我有用。 尝试使用 SELECT * FROM awsdatacatalog.my_database.my_table

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 2022-08-03
    • 2017-09-10
    • 2018-11-18
    • 1970-01-01
    • 2020-09-12
    • 2019-09-16
    相关资源
    最近更新 更多