Athena Partition Projection and Column Stats

0

How would column stats work with Athena partition projection on a partitioned table? I'm assuming that it doesn't. Partition projection avoids any lookup in Glue and hence stats for the partition columns are also not fetched. Or would I be wrong about this and Athena would still try and use table level (as opposed to partition level) column statistics and hence it's still worth periodically analyzing the partitioned table in order to get some table stats?

asked 2 years ago1103 views
1 Answer
0

Hello,

When you enable partition projection on a table, Athena ignores any partition metadata in the AWS Glue Data Catalog or external Hive metastore for that table. But, with DESCRIBE TABLE query, you can get the list of columns, including partition columns, for the named column. This allows you to examine the attributes of a complex column. You can also list table properties using SHOW TBLPROPERTIES query.

REFERENCES:

https://docs.aws.amazon.com/athena/latest/ug/describe-table.html https://docs.aws.amazon.com/athena/latest/ug/show-tblproperties.html

AWS
SUPPORT ENGINEER
answered 2 years ago
  • Not quite the question I'm asking. Table and partition stats as returned by:

    https://docs.aws.amazon.com/glue/latest/webapi/API_GetColumnStatisticsForPartition.html https://docs.aws.amazon.com/glue/latest/webapi/API_GetColumnStatisticsForTable.html

    That data is used for cost based optimization within Athena I'm assuming. If partition projection skips the call to Glue Catalog and hence does not collect column stats....how does this impact Athena cost based optimization for query planning? Would query planning then lack this information and hence more inefficient join queries would be produced? Without that information the optimizer would not be able to do such a good job of automatic join reordering, this would have an impact on performance.

    So, does partition projection prevent Athena from accessing column stats and therefore have a negative impact of cost based optimization and join performance?

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions