airflow.providers.apache.hdfs.log.hdfs_task_handler

HdfsRemoteLogIO

配置使用类名作为logger的便捷超类。

HdfsTaskHandler

HdfsTaskHandler是一个Python日志处理程序,用于处理和读取任务实例日志。

模块内容

class airflow.providers.apache.hdfs.log.hdfs_task_handler.HdfsRemoteLogIO(context=None)[source]

基类: airflow.utils.log.logging_mixin.LoggingMixin

配置使用类名作为logger的便捷超类。

remote_base: str[source]
base_log_folder: pathlib.Path[source]
delete_local_copy: bool[source]
processors = ()[source]
upload(path, ti)[source]

将给定的日志路径上传到远程存储。

property hook[source]

返回 WebHDFSHook。

read(relative_path, ti)[source]
class airflow.providers.apache.hdfs.log.hdfs_task_handler.HdfsTaskHandler(base_log_folder, hdfs_log_folder, **kwargs)[source]

基类: airflow.utils.log.file_task_handler.FileTaskHandler, airflow.utils.log.logging_mixin.LoggingMixin

HdfsTaskHandler是一个Python日志处理程序,用于处理和读取任务实例日志。

它扩展了 airflow FileTaskHandler,并上传到 HDFS 和从 HDFS 读取。

handler: logging.FileHandler | None = None[source]
remote_base[source]
log_relative_path = ''[source]
closed = False[source]
upload_on_close = True[source]
io[source]
set_context(ti, *, identifier=None)[source]

为 airflow 任务处理程序提供 task_instance 上下文。

通常返回 None。但如果属性 maintain_propagate 已设置为 propagate,则返回 sentinel MAINTAIN_PROPAGATE。这会覆盖默认行为,即在调用 set_context 时将 propagate 设置为 False。在撰写本文时,此功能仅用于单元测试。

参数:
  • ti (airflow.models.taskinstance.TaskInstance) – 任务实例对象

  • identifier (str | None) – 如果设置,则向日志文件添加后缀。用于在任务或触发器运行之外的上下文向任务日志中中继异常消息

close()[source]

关闭并将本地日志文件上传到 HDFS。

此条目是否有帮助?