com.nhncorp.neptune.client
Class DirectUploader

java.lang.Object
  extended by com.nhncorp.neptune.client.DirectUploader

public class DirectUploader
extends java.lang.Object

DirectUploader is used to upload large data set.
DirectUploader uploads large data to FileSystem and adds file list to TabletServer.

 DirectUploader uploader = null;
 try {
   uploader = ntable.openDirectUploader(new String[]{"Column1", "Column2"});
   for(...) {
     Row row = new Row(...);
     row.addCell(...);
     uploader.put(row);
   }
   uploader.close();
 } catch (Exception e) {
   if(uploader != null) {
     uploader.rollback();
   }
 } 
 
Table must be partitioned before using DirectUploader. And datas for a single DirectUploader must have similar rowkey range.


Method Summary
 void close()
          Send data to DFS, and add data file to TabletServer.
static void main(java.lang.String[] args)
           
 void put(Row row)
          Put data to DirectUploader
 void rollback()
          Rollback uploaded datas.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

put

public void put(Row row)
         throws java.io.IOException
Put data to DirectUploader

Parameters:
rowKey -
columnValues -
Throws:
java.io.IOException

rollback

public void rollback()
              throws java.io.IOException
Rollback uploaded datas. Clear and ignore all datas.
If failed while putting or uploading after DirectUploader open, You must call rollback method.

Throws:
java.io.IOException

close

public void close()
           throws java.io.IOException
Send data to DFS, and add data file to TabletServer.
After putting all datas, you must call close() method

Throws:
java.io.IOException

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Throws:
java.io.IOException