airflow.providers.apache.hive.transfers.hive_to_mysql

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

HiveToMySqlOperator

将数据从 Hive 移动到 MySQL。

模块内容

class airflow.providers.apache.hive.transfers.hive_to_mysql.HiveToMySqlOperator(*, sql, mysql_table, hiveserver2_conn_id='hiveserver2_default', mysql_conn_id='mysql_default', mysql_preoperator=None, mysql_postoperator=None, bulk_load=False, hive_conf=None, **kwargs)[source]

Bases: airflow.models.BaseOperator

将数据从 Hive 移动到 MySQL。

请注意,目前数据在推送到 MySQL 之前会加载到内存中,因此此操作符应仅用于少量数据。

参数:
  • sql (str) – 要针对 Hive 服务器执行的 SQL 查询。(模板化)

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

  • mysql_conn_id (str) – 源 MySQL 连接

  • hiveserver2_conn_id (str) – 对 Hive Server2 Thrift 服务连接 ID 的引用。

  • mysql_preoperator (str | None) – 在导入之前针对 MySQL 运行的 SQL 语句,通常用于截断或删除将要导入的数据,使任务具有幂等性(运行两次任务不会重复加载数据)。(模板化)

  • mysql_postoperator (str | None) – 导入后针对 MySQL 运行的 SQL 语句,通常用于将数据从暂存区移动到生产环境并执行清理命令。(模板化)

  • bulk_load (bool) – 使用 bulk_load 选项的标志。这会使用 LOAD DATA LOCAL INFILE 命令直接从制表符分隔的文本文件加载数据到 MySQL。MySQL 服务器必须支持通过此命令加载本地文件(默认情况下禁用)。

  • hive_conf (dict | None)

template_fields: collections.abc.Sequence[str] = ('sql', 'mysql_table', 'mysql_preoperator', 'mysql_postoperator')[source]
template_ext: collections.abc.Sequence[str] = ('.sql',)[source]
template_fields_renderers[source]
ui_color = '#a0e08c'[source]
sql[source]
mysql_table[source]
mysql_conn_id = 'mysql_default'[source]
mysql_preoperator = None[source]
mysql_postoperator = None[source]
hiveserver2_conn_id = 'hiveserver2_default'[source]
bulk_load = False[source]
hive_conf = None[source]
execute(context)[source]

在创建操作符时派生。

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

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

此条目是否有帮助?