如何将 c ++ 变量的值传递给 hadoop HDFS 的 bash 系统命令?
How to pass the value of a c ++ variable to a bash system command of hadoop HDFS?
我正在尝试传递从我的Hadoop流的输入文件中收到的变量。 输入文件包含视频的名称,例如:
Input_file.txt:
视频0001.mp4
我将输入的值存储在变量键中
int main (int argc, const char* argv[]){
string key;
string value ="1";
while(cin>>key) {
system("/usr/local/lib/hadoop-2.7.3/bin/hadoop fs -get /user/root/BDs/Video0001.mp4 /home/master/Desktop/Extract_signature/BDs/");
system("mkdir /home/master/Desktop/Extract_signature/SIGN");
// ....
// ....
}
}
我的目标是将视频名称替换为Key变量的值并运行系统命令
所以更换
system("/usr/local/lib/hadoop-2.7.3/bin/hadoop fs -get /user/root/BDs/Video0001.mp4
由
system("/usr/local/lib/hadoop-2.7.3/bin/hadoop fs -get /user/root/BDs/<Value of key>
用std::string
(或std::ostringstream
)构造system()
的整个参数,并使用结果的c_str()
函数将其传递给system()
:
std::string hadoopCmd = "/usr/local/lib/hadoop-2.7.3/bin/hadoop fs -get /user/root/BDs/";
hadoopCmd += key;
system(hadoopCmd.c_str());
此版本在其他类型的格式方面比std::string
更灵活,key
std::ostringstream hadoopCmd;
hadoopCmd << "/usr/local/lib/hadoop-2.7.3/bin/hadoop fs -get /user/root/BDs/"
<< key;
system(hadoopCmd.str().c_str());
相关文章:
- 从 HDFS 读取和打印文本文件
- 如何将 c ++ 变量的值传递给 hadoop HDFS 的 bash 系统命令?
- 从WordCount Hadoop示例调用Helloworld Jni函数,给出错误Java.lang.unsatisf
- 在hadoop 2.7.4的自定义排序类中调用C函数,给出Java.lang.unsatisfiedlinkerror
- Hadoop C++ WordCount 示例编译问题
- "Error: expected a declaration" 在 Apache Hadoop源代码中使用 Visual Studio 2010
- Hadoop管道字数示例:LocalJobRunner中的NullPointerException
- Hadoop流式处理c++getTaskId
- 在Hadoop 2.x中运行C++代码
- 用于 Hadoop 的可移植键值数据文件格式
- 在c++中与hadoop服务进行接口
- Hadoop FairScheduler的高级内部数据结构和算法
- Hadoop mapreduce使用2个mapper,1个reducer使用c++
- Hadoop 2.6 java.lang.nullpointerexception
- 如何使用Hadoop Mapreduce运行非java程序(c++ /Matlab优先)
- openmp++程序能否在Hadoop中用作mapper/reducer函数?
- Hadoop c++,运行wordcount出错的例子
- 如何从hadoop python包装器运行c++可执行文件
- 链接Hadoop MapReduce与管道(c++)
- 使用来自 c++ 的 hadoop HDFS,对"hdfsConnect"的未定义引用