blob: 33b6c4f9cb17f803f42e3c6403ce90bc326490d1 [file] [log] [blame]
:py:mod:`airflow.providers.apache.hive.sensors.metastore_partition`
===================================================================
.. py:module:: airflow.providers.apache.hive.sensors.metastore_partition
Module Contents
---------------
Classes
~~~~~~~
.. autoapisummary::
airflow.providers.apache.hive.sensors.metastore_partition.MetastorePartitionSensor
.. py:class:: MetastorePartitionSensor(*, table, partition_name, schema = 'default', mysql_conn_id = 'metastore_mysql', **kwargs)
Bases: :py:obj:`airflow.sensors.sql.SqlSensor`
An alternative to the HivePartitionSensor that talk directly to the
MySQL db. This was created as a result of observing sub optimal
queries generated by the Metastore thrift service when hitting
subpartitioned tables. The Thrift service's queries were written in a
way that wouldn't leverage the indexes.
:param schema: the schema
:param table: the table
:param partition_name: the partition name, as defined in the PARTITIONS
table of the Metastore. Order of the fields does matter.
Examples: ``ds=2016-01-01`` or
``ds=2016-01-01/sub=foo`` for a sub partitioned table
:param mysql_conn_id: a reference to the MySQL conn_id for the metastore
.. py:attribute:: template_fields
:annotation: :Sequence[str] = ['partition_name', 'table', 'schema']
.. py:attribute:: ui_color
:annotation: = #8da7be
.. py:attribute:: poke_context_fields
:annotation: = ['partition_name', 'table', 'schema', 'mysql_conn_id']
.. py:method:: poke(self, context)
Function that the sensors defined while deriving this class should
override.