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?

질문됨 3년 전1325회 조회
1개 답변
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
지원 엔지니어
답변함 3년 전
  • 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?

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인