hadoop的一个hdfs测试程序

#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*/

你可能感兴趣的:(hadoop,测试,gcc,buffer,include)