No fields detected with Athena Database on Self-hosted Metabase

Hello,
<We're using a self-hosted version of Metabase on AWS (via ECS task). I added new table with Athena connector. Everything goes well during the configuration : database is well imported into metabase BUT I can't navigate through this database via QUESTION, the fields are not detected (see screenshots) :


But when I use SQL Query I can load the data without pb.

The pb is I want my team using the Native question and not SQL query.

What I've missed in the configuration?

1 Like

My configuration :

{
"browser-info": {
"language": "fr-FR",
"platform": "MacIntel",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",
"vendor": "Google Inc."
},
"system-info": {
"file.encoding": "UTF-8",
"java.runtime.name": "OpenJDK Runtime Environment",
"java.runtime.version": "11.0.18+10",
"java.vendor": "Eclipse Adoptium",
"java.vendor.url": "https://adoptium.net/",
"java.version": "11.0.18",
"java.vm.name": "OpenJDK 64-Bit Server VM",
"java.vm.version": "11.0.18+10",
"os.name": "Linux",
"os.version": "5.10.173-154.642.amzn2.x86_64",
"user.language": "en",
"user.timezone": "GMT"
},
"metabase-info": {
"databases": [
"h2",
"postgres",
"athena"
],
"hosting-env": "unknown",
"application-database": "postgres",
"application-database-details": {
"database": {
"name": "PostgreSQL",
"version": "12.11"
},
"jdbc-driver": {
"name": "PostgreSQL JDBC Driver",
"version": "42.5.1"
}
},
"run-mode": "prod",
"version": {
"date": "2023-04-05",
"tag": "v0.46.1",
"branch": "release-x.46.x",
"hash": "12a6e1d"
},
"settings": {
"report-timezone": null
}
}
}

Are you sure there are no permission issues here? Can you check the logs when you try to connect the DB or perform a sync schema now form Admin -> Databases

The synchronization looks performing without any issue...
I have this in the log when I perform a new sync of the schema (from admin console) :

  • [90e60a2d-38fb-4943-9067-adb6807a8a98] 2023-06-13T11:51:10+02:00 DEBUG metabase.server.middleware.log GET /api/database 200 6.8 ms (3 DB calls) App DB connections: 0/15 Jetty threads: 3/50 (24 idle, 0 queued) (152 total active threads) Queries in flight: 0 (0 queued)

And about the permission, in the admin console, I am an admin user and all users have the permission to query this database ...

So I really don't know why from the Question console, no field appear, but from SQL it works.

When i say permission i am referring to the user you are using to connect metabase with Athena ... That the user has all rights to access the Table.

If you get this user and use some IDE to connect to athena with it do you get the same result?

Also you need to share the logs since those are not the logs you get when you sync/scan, you should get something like STARTING ...

I will test But what I say is when I use SQL in metabase the query works, but not in native Question (the fields doesnt' appear).. So I don't think the issue comes from the user rights as user is the same (using SQL or Native question)

The columns do not appear in the GUI question right nor in Native Question? It might be the case that during sync the user doesn't have rights to call DESCRIBE for example and metabase cannot get the column names or something like that ... Try given full privileges and sync/scan see what happens

1 Like

Thank you! It works, it was in fact due to the missing permissions set related to Athena (GetDatabase and GetTableMetadata).

1 Like