airflow.providers.apache.hive.transfers.vertica_to_hive
¶
This module contains an operator to move data from Vertica to Hive.
Module Contents¶
Classes¶
Moves data from Vertica to Hive. |
- class airflow.providers.apache.hive.transfers.vertica_to_hive.VerticaToHiveOperator(*, sql, hive_table, create=True, recreate=False, partition=None, delimiter=chr(1), vertica_conn_id='vertica_default', hive_cli_conn_id='hive_cli_default', hive_auth=None, **kwargs)[source]¶
Bases:
airflow.models.BaseOperator
Moves data from Vertica to Hive.
The operator runs your query against Vertica, stores the file locally before loading it into a Hive table. If the
create
orrecreate
arguments are set toTrue
, aCREATE TABLE
andDROP TABLE
statements are generated. Hive data types are inferred from the cursor’s metadata. Note that the table generated in Hive usesSTORED AS textfile
which isn’t the most efficient serialization format. If a large amount of data is loaded and/or if the table gets queried considerably, you may want to use this operator only to stage the data into a temporary table before loading it into its final destination using aHiveOperator
.- Parameters
sql (str) – SQL query to execute against the Vertica database. (templated)
hive_table (str) – target Hive table, use dot notation to target a specific database. (templated)
create (bool) – whether to create the table if it doesn’t exist
recreate (bool) – whether to drop and recreate the table at every execution
partition (dict | None) – target partition as a dict of partition columns and values. (templated)
delimiter (str) – field delimiter in the file
vertica_conn_id (str) – source Vertica connection
hive_cli_conn_id (str) – Reference to the Hive CLI connection id.
hive_auth (str | None) – optional authentication option passed for the Hive connection
- template_fields: collections.abc.Sequence[str] = ('sql', 'partition', 'hive_table')[source]¶
- template_ext: collections.abc.Sequence[str] = ('.sql',)[source]¶
- classmethod type_map(vertica_type)[source]¶
Manually hack Vertica-Python type mapping.
The stock datatype.py does not provide the full type mapping access.
Reference: https://github.com/uber/vertica-python/blob/master/vertica_python/vertica/column.py