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)[源代码]

基类: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 写入器何时应生成引号,它可以采用任何 csv.QUOTE_* 常量。

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

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

  • 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')[源代码]
template_ext: collections.abc.Sequence[str] = ('.sql',)[源代码]
template_fields_renderers[源代码]
ui_color = '#a0e08c'[源代码]
classmethod type_map(mysql_type)[源代码]

将 MySQL 类型映射到 Hive 类型。

execute(context)[源代码]

在创建操作符时派生。

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

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

此条目有帮助吗?