airflow.contrib.hooks.aws_glue_catalog_hook
¶
This module contains AWS Glue Catalog Hook
Module Contents¶
-
class
airflow.contrib.hooks.aws_glue_catalog_hook.
AwsGlueCatalogHook
(aws_conn_id='aws_default', region_name=None, *args, **kwargs)[source]¶ Bases:
airflow.contrib.hooks.aws_hook.AwsHook
Interact with AWS Glue Catalog
- Parameters
-
get_partitions
(self, database_name, table_name, expression='', page_size=None, max_items=None)[source]¶ Retrieves the partition values for a table.
- Parameters
database_name (str) – The name of the catalog database where the partitions reside.
table_name (str) – The name of the partitions’ table.
expression (str) – An expression filtering the partitions to be returned. Please see official AWS documentation for further information. https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-GetPartitions
page_size (int) – pagination size
max_items (int) – maximum items to return
- Returns
set of partition values where each value is a tuple since a partition may be composed of multiple columns. For example:
{('2018-01-01','1'), ('2018-01-01','2')}
-
check_for_partition
(self, database_name, table_name, expression)[source]¶ Checks whether a partition exists
- Parameters
- Expression
Expression that matches the partitions to check for (eg a = ‘b’ AND c = ‘d’)
- Return type
>>> hook = AwsGlueCatalogHook() >>> t = 'static_babynames_partitioned' >>> hook.check_for_partition('airflow', t, "ds='2015-01-01'") True