hadoop - 什么是 AWS EMR 的 -file 参数

标签 hadoop amazon-web-services amazon-emr

我正在通过控制台启动 EMR 集群。

控制台自动在 Arguments 字段中添加了 -files s3://jmilloy/milp_mapper.py,这是我为映射器提供的位置。我在任何地方都找不到记录的 -file 选项。它有什么作用?为什么会自动添加?如果我删除它会怎样?我可以将我的脚本需要的 S3 中的其他文件放在那里吗?

最佳答案

简答:

-files 不是 EMR 标志,而是一种将文件添加到 Distributed Cache 的方法.

长版:

Hadoop 使用称为 GenricOptionsParser 的东西用于解析命令行选项。当您使用 python 编写映射器或缩减器时,这意味着 Hadoop 正在使用称为 Streaming API 的东西。运行作业。因此,当您运行 Streaming Job 时,您必须使用 -files 命令行选项传入您的 Mapper 和 Reducers 在文件系统(也可能是 S3)中的路径,一旦您这样做因此 Hadoop 会将文件复制到 HDFS,然后将它们复制到 Mappers 和 Reducers,以便它们可以初始化您的 Python 外部进程。

如果您不使用 -files 指定您的 python 映射器或 reducer 代码,该作业将失败。

关于hadoop - 什么是 AWS EMR 的 -file 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26920025/

相关文章:

apache-spark - spark s3n 支持端点是否类似于 s3a

hadoop - 在 hadoop mapreduce 的 TextInputFormat 中什么是字节偏移量?键如何作为字节偏移量,值如何作为行的内容?

java - 将文本文件转换为SequentialFileOutput格式

amazon-web-services - 如何使用通配符搜索Amazon S3存储桶?

python - 在大型数据帧 (pyspark) 上,EMR 笔记本 session 在几秒钟内超时(使用 pyspark)

python - 无法在 AWS EMR 上下载 nltk 语料库,对已关闭文件进行 I/O 操作

hadoop - 在 Hive 中执行任何查询时,有什么方法可以获取列名和输出吗?

java - Hadoop MapReduce 错误 : Mkdirs failed to create file; job failed

amazon-web-services - 如何配置无服务器 S3 存储桶资源以使用设置为其函数的 http 端点的 CORS AllowOrigin

amazon-web-services - AWS DynamoDB 查询数组中的值