具有多个输入的 AWS 数据管道 activity

AWS data pipeline activity with multiple inputs

作为 Amazon AWS 数据管道的一部分,我有一个配置单元 activity 使用两个未暂存的 S3 数据节点作为输入。我想要的是能够在 activity 上设置两个脚本变量,每个都指向一个输入数据节点,但我无法获得正确的语法。使用单一输入,我可以编写以下内容并且它会工作得很好:

INPUT_FOO=#{input.directoryPath}

当我添加第二个输入时,我 运行 遇到了如何引用它们的问题,因为它们现在是一个输入数组,正如您在下面的管道定义中看到的那样。本质上,我想实现以下目标,但无法找出正确的语法:

INPUT_FOO=#{input[1].directoryPath}
INPUT_BAR=#{input[2].directoryPath}

这是管道定义的 activity 部分:

{
  "id": "ActivityId_7u1sR",
  "input": [
    {
      "ref": "DataNodeId_iYnxf"
    },
    {
      "ref": "DataNodeId_162Ka"
    }
  ],
  "schedule": {
    "ref": "DefaultSchedule"
  },
  "scriptUri": "#{myS3ScriptLocation}calculate-results.q",
  "name": "Perform Calculations",
  "runsOn": {
    "ref": "EmrClusterId_jHeiV"
  },
  "scriptVariable": [
    "INPUT_SOURCE1=#{input[1].directoryPath}",
    "OUTPUT=#{output.directoryPath}Results/",
    "INPUT_SOURCE2=#{input[2].directoryPath}"
  ],
  "output": {
    "ref": "DataNodeId_2jY6v"
  },
  "type": "HiveActivity",
  "stage": "false"
}

我计划让 table 保持未分级状态,并在配置单元脚本中处理 table 创建,以便 运行 每个 Hive activity 更容易隔离以及管道本身。

这是我在使用数组语法时看到的错误:

Unable to resolve input[1].directoryPath for object ActivityId_7u1sR'

目前不支持此方案,但已添加功能请求以在将来支持它。