airflow.providers.apache.hive.transfers.mysql_to_hive

此模块包含一个用于将数据从 MySQL 移动到 Hive 的操作符。

MySqlToHiveOperator

将数据从 MySql 移动到 Hive。

模块内容

class airflow.providers.apache.hive.transfers.mysql_to_hive.MySqlToHiveOperator(*, sql, hive_table, create=True, recreate=False, partition=None, delimiter=chr(1), quoting=None, quotechar='"', escapechar=None, mysql_conn_id='mysql_default', hive_cli_conn_id='hive_cli_default', hive_auth=None, tblproperties=None, **kwargs)[source]

基类: airflow.models.BaseOperator

将数据从 MySql 移动到 Hive。

此操作符针对 MySQL 运行查询,将文件存储在本地,然后加载到 Hive 表中。

如果 createrecreate 参数设置为 True,将生成 CREATE TABLEDROP TABLE 语句。Hive 数据类型从游标的元数据推断。请注意,在 Hive 中生成的表使用 STORED AS textfile 格式,这不是最高效的序列化格式。如果加载大量数据和/或频繁查询该表,您可能只想使用此操作符将数据暂存到临时表中,然后再使用 HiveOperator 将其加载到最终目的地。

参数:
  • sql (str) – 要针对 MySQL 数据库执行的 SQL 查询。(模板化)

  • hive_table (str) – 目标 Hive 表,使用点表示法指定特定数据库。(模板化)

  • create (bool) – 如果表不存在是否创建

  • recreate (bool) – 是否在每次执行时删除并重新创建表

  • partition (dict | None) – 目标分区,格式为分区列及其值的字典。(模板化)

  • delimiter (str) – 文件中的字段分隔符

  • quoting (int | None) – 控制 csv writer 何时生成引号,可以是 csv.QUOTE_* 常量中的任何一个。

  • quotechar (str) – 用于引用包含特殊字符的字段的单字符字符串。

  • escapechar (str | None) – csv writer 用于转义分隔符或引号字符的单字符字符串。

  • mysql_conn_id (str) – 源 mysql 连接

  • hive_cli_conn_id (str) – Hive CLI 连接 ID 的引用。

  • hive_auth (str | None) – Hive 连接的可选认证选项

  • tblproperties (dict | None) – 正在创建的 Hive 表的 TBLPROPERTIES

template_fields: collections.abc.Sequence[str] = ('sql', 'partition', 'hive_table')[source]
template_ext: collections.abc.Sequence[str] = ('.sql',)[source]
template_fields_renderers[source]
ui_color = '#a0e08c'[source]
sql[source]
hive_table[source]
partition = None[source]
create = True[source]
recreate = False[source]
delimiter = ''[source]
quoting = 0[source]
quotechar = '"'[source]
escapechar = None[source]
mysql_conn_id = 'mysql_default'[source]
hive_cli_conn_id = 'hive_cli_default'[source]
tblproperties = None[source]
hive_auth = None[source]
classmethod type_map(mysql_type)[source]

将 MySQL 类型映射到 Hive 类型。

execute(context)[source]

创建操作符时派生。

上下文是渲染 Jinja 模板时使用的相同字典。

有关更多上下文,请参阅 get_template_context。

此条目有帮助吗?