学生党问一个问题
c/c++程序中要把大文件存储到hadoop平台上
要怎么选择呢?
1.read file 、open file  in hadoop 、while(write())
2.调用linux 的系统操作命令

解决方案 »

  1.   

    http://hadoop.apache.org/docs/r0.19.1/libhdfs.html#include "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);
    }