gpt4 book ai didi

hadoop - 使用 Hadoop 管道获取 Hadoop 映射器中的文件名

转载 作者:可可西里 更新时间:2023-11-01 14:47:38 27 4
gpt4 key购买 nike

如何在 Hadoop Pipes 中获取正在 hadoop 映射器 中执行的输入文件 名称?

我可以很容易地在基于 java 的 map reducer 中获取文件名,比如

FileSplit fileSplit = (FileSplit)context.getInputSplit();    String filename = fileSplit.getPath().getName();   System.out.println("File name "+filename); System.out.println("Directory and Filename"+fileSplit.getPath().toString());

但是我怎样才能进入 C++;

请帮帮我

谢谢

最佳答案

对于流式传输/管道作业,作业配置被序列化以处理环境变量。

定义输入文件的作业配置属性名为 map.input.filePipeMapRed启动 C++ 程序的类负责此序列化(configure 方法,第 151 行),并确保转义作业 conf 属性名称(addJobConfToEnvironment 方法第 206/266 行) ) - 意味着所有非 a-Za-z0-9 字符都被替换为下划线(safeEnvVarName 方法,第 276/284 行) - 所以你的实际环境变量在您的 C++ 程序中查找将被命名为 map_input_file

我不是c++程序员,所以我不能告诉你如何获取环境变量,但我相信它很简单。

关于hadoop - 使用 Hadoop 管道获取 Hadoop 映射器中的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14017816/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com