airflow.providers.apache.hive.operators.hive

HiveOperator

在指定的 Hive 数据库中执行 hql 代码或 hive 脚本。

模块内容

class airflow.providers.apache.hive.operators.hive.HiveOperator(*, hql, hive_cli_conn_id='hive_cli_default', schema='default', hiveconfs=None, hiveconf_jinja_translate=False, script_begin_tag=None, mapred_queue=None, mapred_queue_priority=None, mapred_job_name=None, hive_cli_params='', auth=None, proxy_user=None, **kwargs)[source]

基类: airflow.models.BaseOperator

在指定的 Hive 数据库中执行 hql 代码或 hive 脚本。

参数:
  • hql (str) – 要执行的 hql。注意,您也可以使用相对于 dag 文件路径的(模板化)hive 脚本的相对路径。(已模板化)

  • hive_cli_conn_id (str) – Hive CLI 连接 ID 的引用。(已模板化)

  • hiveconfs (dict[Any, Any] | None) – 如果定义,这些键值对将作为 -hiveconf "key"="value" 传递给 hive。

  • hiveconf_jinja_translate (bool) – 当为 True 时,hiveconf 类型的模板 ${var} 将被转换为 jinja 类型的模板 {{ var }},${hiveconf:var} 将被转换为 jinja 类型的模板 {{ var }}。请注意,您可能希望将其与 DAG(user_defined_macros=myargs) 参数一起使用。查看 DAG 对象文档了解更多详情。

  • script_begin_tag (str | None) – 如果定义,操作符将删除脚本中在 script_begin_tag 第一次出现之前的部分。

  • mapred_queue (str | None) – Hadoop CapacityScheduler 使用的队列。(已模板化)

  • mapred_queue_priority (str | None) – CapacityScheduler 队列中的优先级。可能的设置包括:VERY_HIGH(非常高)、HIGH(高)、NORMAL(正常)、LOW(低)、VERY_LOW(非常低)

  • mapred_job_name (str | None) – 此名称将显示在 jobtracker 中。这可以使监控更容易。

  • hive_cli_params (str) – 传递给 hive CLO 的参数

  • auth (str | None) – 为 Hive 连接传递的可选身份验证选项

  • proxy_user (str | None) – 以此用户身份运行 HQL 代码。

template_fields: collections.abc.Sequence[str] = ('hql', 'schema', 'hive_cli_conn_id', 'mapred_queue', 'hiveconfs', 'mapred_job_name',...[source]
template_ext: collections.abc.Sequence[str] = ('.hql', '.sql')[source]
template_fields_renderers[source]
ui_color = '#f0e4ec'[source]
hql[source]
hive_cli_conn_id = 'hive_cli_default'[source]
schema = 'default'[source]
hiveconfs[source]
hiveconf_jinja_translate = False[source]
script_begin_tag = None[source]
mapred_queue = None[source]
mapred_queue_priority = None[source]
mapred_job_name = None[source]
hive_cli_params = ''[source]
auth = None[source]
proxy_user = None[source]
mapred_job_name_template: str[source]
property hook: airflow.providers.apache.hive.hooks.hive.HiveCliHook[source]

获取 Hive cli hook。

prepare_template()[source]

在模板化字段被其内容替换后执行。

如果您需要在模板渲染之前修改文件的内容,您的对象应该重写此方法来实现。

execute(context)[source]

创建操作符时实现此方法。

Context 是与渲染 jinja 模板时相同的字典。

请参考 get_template_context 获取更多 context 信息。

dry_run()[source]

对操作符执行空运行 - 只渲染模板字段。

on_kill()[source]

重写此方法以清理任务实例被杀死时的子进程。

在操作符内部使用 threading、subprocess 或 multiprocessing 模块都需要进行清理,否则会留下僵尸进程。

clear_airflow_vars()[source]

重置 airflow 环境变量,以防止现有变量影响行为。

此条目有帮助吗?