如何获取在hadoop管道中的
hadoop映射器中执行的输入文件名
我可以很容易地在基于java的map reducer中获得文件名,比如
FileSplit FileSplit=(FileSplit)上下文。getInputSplit();
但是我怎么才能进C;
请帮帮我
谢谢
通过分析mapreduce\u map\u input\u file
(新建)或
(弃用)环境变量,可以获得地图输入文件名。map\u input\u file
注意:
这两个环境变量区分大小写,所有字母都应小写。
如果您在Python中使用HADOOP 2. x:
file_name = os.environ['mapreduce_map_input_file']
对于流式处理/管道作业,作业配置被序列化以处理环境变量。
定义输入文件的作业配置属性名为map.input.file
。启动C程序的PipeMapRed类负责此序列化(confiure
method,第151行),并确保作业conf属性名称被转义(addJobConfTo环境
method line 206/266)-意味着所有非a-Za-z0-9
字符都被替换为下划线(secEnvVarName
method,第276/284行)-因此您在c程序中寻找的实际环境变量将被命名为map_input_file
。
我是,不是c程序员,所以我不能告诉你如何获取环境变量,但我相信它足够简单。
我想使用 hudson 的管道插件在内联管道脚本中获取当前时间戳。用于设置生成显示名称。 使用的内联groovy脚本: 控制台上的错误:
基于Spark-Load CSV文件作为数据文件? 我知道可以使用来完成,但理想情况下我不必这样做。 更新信息 看来我得用反勾号通过这条路。
问题内容: 我想读取一个远程图像并显示它。我可以保存文件,但无法正确显示代码。理想情况下,我只想尽管正确地传递文件但不进行处理- 不确定是否需要tmp文件步骤。此代码不显示任何内容-没有错误。我也尝试过res.pipe(response)。 问题答案: 好吧,我仍然想知道如何进行上述工作,但是我通过请求模块解决了我的问题!
我是hadoop新手,目前正在hadoop上工作。我有一个小问题。 我在输入文件夹中有大约10个文件,我需要将其传递给我的地图缩减程序。我希望我的映射器中的文件名称,因为我的文件名称包含创建此文件的时间。我看到人们使用FileSplit在映射器中获取文件名称。如果假设我的输入文件包含数百万行,那么每次调用映射器代码时,它都会获取文件名称,然后从文件中提取时间,对于同一个文件来说,这显然是一件重复耗
我对hadoop很陌生,请你帮忙。我正在执行将文件从一个目录消化到另一个目录的过程。我使用的以下comand: Blockquote hadoop fs-copyfromlocal./tmp/text.txt./tmp/HarSourceFolder2 有人能帮我吗?
传递参数 链接管道 我们可以将多个管道连接在一起,以便在一个表达式中使用多个管道。