Airflow S3删除&;HDFS到S3拷贝

Airflow S3删除&;HDFS到S3拷贝,airflow,Airflow,作为我的Spark管道的一部分,我必须在EMR/S3上执行以下任务: 删除:(递归)删除给定S3存储桶下的所有文件/目录 复制:将目录(子目录和文件)的内容复制到给定的S3存储桶 根据我目前的知识,气流没有为这些任务提供操作员s/hooks。因此,我计划执行以下措施: 删除:扩展以添加对指定的s3存储桶执行aws s3 rm的功能 复制:用于执行hadoop distcp 我的问题是: 我认为我打算执行的任务相当原始。这些功能是否已由气流提供 如果没有,有没有比我计划做的更好的方法 我

作为我的
Spark
管道的一部分,我必须在
EMR
/
S3
上执行以下任务:

  • 删除:(递归)删除给定
    S3存储桶下的所有文件/目录
  • 复制:将目录(子目录和文件)的内容复制到给定的
    S3存储桶

  • 根据我目前的知识,
    气流
    没有为这些任务提供
    操作员
    s/
    hook
    s。因此,我计划执行以下措施:

  • 删除:扩展以添加对指定的
    s3存储桶执行
    aws s3 rm
    的功能
  • 复制:用于执行hadoop distcp

  • 我的问题是:

    • 我认为我打算执行的任务相当原始。这些功能是否已由
      气流
      提供
    • 如果没有,有没有比我计划做的更好的方法

    我正在使用:

    • Airflow 1.9.0
      [
      Python 3.6.6
      ](将升级到
      Airflow 1.10
      一次)
    • EMR 5.13.0

      • 那么,
        删除
        是一个基本操作,但不是
        hadoop distcp
        。回答您的问题:

      • 无气流s3挂钩上没有执行这些操作的功能
      • 我认为,通过创建自己的插件来扩展s3_钩子,并使用ssh操作符来执行distcp是一种很好的方法
      • 不确定为什么标准S3_钩子没有删除功能。这可能是因为(可能不是原因,但无论如何要记住这一点)