【发布时间】:2015-04-06 21:44:47
【问题描述】:
我正在尝试将 Elastic Data Pipeline 与 shell 命令活动一起使用来处理一些数据文件。具体来说,我正在尝试使用 python 来处理一些分阶段的数据。
我对 python 脚本的第一次尝试是这样的:
#!/usr/bin/env python
import os
print "We've entered the python file"
print os.curdir
print os.listdir(os.curdir)
print ${INPUT1_STAGING_DIR}
由于 ${INPUT1_STAGING_DIR} 未定义,此代码在命中第四个打印语句时引发错误。
之后我尝试将 ${INPUT1_STAGING_DIR} 作为参数传递给脚本并将脚本修改为如下所示:
#!/usr/bin/env python
import os
import sys
print "We've entered the python file"
print os.curdir
print os.listdir(os.curdir)
print sys.argv
这次脚本成功完成并有以下输出。
我们已经输入了python文件 . ['taskRunner.zip'、'mysql-connector-java-bin.jar'、'csv-serde.jar'、'run.sh'、'TaskRunner-1.0.jar'、'pipeline-serde.jar'、' run.out', '输出'] ['/mnt/taskRunner/output/tmp/ActivityIdQC6BK20140722T170548Attempt1_command.sh', '${INPUT1_STAGING_DIR}']同样,${INPUT1_STAGING_DIR} 没有“替代”任何类似于我正在暂存的文件的内容。我正在尝试做的事情可能吗?如果没有,有没有好的解决方法?
【问题讨论】:
标签: python amazon-web-services amazon-data-pipeline