Hey all
I am trying to use the c api to access hdfs:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <hdfs.h>
int main (int argc, char ** argv)
{
hdfsFS fs = hdfsConnect ("default", 0);
assert (fs);
const char * wp = "test";
hdfsFile wf = hdfsOpenFile (fs, wp, O_WRONLY | O_CREAT,
0, 0, 0);
if (!wf)
{
fprintf (stderr, "Failed to open %s for writing!\n", wp);
exit (-1);
}
const char * buffer = "Hello, World!";
tSize num_written_bytes = hdfsWrite (fs, wf, (void *) buffer,
strlen (buffer) + 1);
assert (num_written_bytes);
if (hdfsFlush (fs, wf))
{
fprintf (stderr, "Failed to 'flush' %s\n", wp);
exit (-1);
}
hdfsCloseFile(fs, wf);
return 0;
}
--
gcc t.c -lhdfs -lpthread -L/usr/java/default/lib/amd64/server -ljvm -Wall
But i am getting:
Environment variable CLASSPATH not set!
getJNIEnv: getGlobalJNIEnv failed
a.out: t.c:12: main: Assertion `fs' failed.
Aborted
Not sure what i need to do now to get this example working.
--Phil