Hello,

I wrote a single program to directly write data content to HFile.
Hbase is installed as pseudo-mode.

here is my code:
public static void putData() throws Exception{
                FileSystem fs = new RawLocalFileSystem();
                fs.setConf(new Configuration());
                //block size is 2K
                HFile.Writer hwriter = new HFile.Writer(fs, new
Path("hdfs://localhost:8020/test"), 2, (Compression.Algorithm)null,
null);
                //value size is 1K, it means one block can contain 2 key/value 
pairs
                byte[] key1 = "tom".getBytes();
                byte[] value1 = new byte[1024];
                for(int i=0;i<1024;i++){
                        value1[i] = 'a';
                }
                hwriter.append(key1, value1);
                
                byte[] key2 = "jim".getBytes();
                byte[] value2 = new byte[1024];
                for(int i=0;i<1024;i++){
                        value2[i] = 'b';
                }
}
after I run this method, it returned error information as follows:
Exception in thread "main" java.lang.IllegalArgumentException: Wrong
FS: hdfs://localhost:8020/test, expected: file:///.

How can I set the second parameter in the HFile.Writer constructor?

Thanks!

Yong

Reply via email to