您的位置:首页 > 运维架构

hadoop的一个hdfs测试程序

2010-07-25 09:24 267 查看
#include "../hadoop-0.20.2/src/c++/libhdfs/hdfs.h"

int main(int argc, char ** argv)

{

hdfsFS fs = hdfsConnect("default", 0);

const char* writePath = "/tmp/testfile.txt";

hdfsFile writeFile = hdfsOpenFile(fs, writePath, O_WRONLY | O_CREAT, 0, 0, 0);

if(!writeFile)

{

fprintf(stderr, "Failed to open %s for writing!/n", writePath);

exit(-1);

}

char* buffer = "Hello, World!";

tSize num_written_bytes = hdfsWrite(fs, writeFile, (void*)buffer, strlen(buffer) + 1);

if(hdfsFlush(fs, writeFile))

{

fprintf(stderr, "Failed to 'flush' %s/n", writePath);

exit(-1);

}

hdfsCloseFile(fs, writeFile);

return 0;

}

//这个在0.19.2版本可用(在0.20.2版本不一样):gcc above_sample.c -I${HADOOP_HOME}/src/c++/libhdfs -L${HADOOP_HOME}/libhdfs -lhdfs -o above_sample

/*gcc hadoop_helloworld.c -I /usr/local/share/jdk1.6.0_20/include/ -I /usr/local/share/jdk1.6.0_20/include/linux/ -I /home/stanford/hadoop-0.20.2/src/c++/libhdfs/ -L /home/stanford/hadoop-0.20.2/c++/Linux-i386-32/lib -lhdfs -o hadoop_helloworld -L /usr/local/share/jdk1.6.0_20/jre/lib/i386/client -ljvm*/

/*如缺少哪个共享库,则可应用命令加载:sudo ln ~/hadoop-0.20.2/c++/Linux-i386-32/lib/libhdfs.so.0*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: