2016-06-23 17 views

Antwort

0

Wie

in der Cloudera-Dokumentation auf MOB Unterstützung erwähnt ist

Die Funktion für den Client transparent.

(https://www.cloudera.com/documentation/enterprise/5-5-x/topics/admin_hbase_mob.html)

Dies bedeutet, dass Sie die gleiche Art und Weise wie von jedem anderen Spalte den Inhalt der gespeicherten MOB bekommen können. In Java:

 String namespace = "nmsp"; 
     String tblName = "MOB_TEST"; 
     byte[] rowKey = "MOB_1".getBytes(); 
     byte[] columnFamily = "D".getBytes(); 
     byte[] qualifier = "MOB".getBytes(); 

     Get g = new Get(rowKey); 
     g.addColumn(columnFamily, qualifier); 

     Configuration cfg = HBaseConfiguration.create(); 
     Connection con = ConnectionFactory.createConnection(cfg); 
     Table t = con.getTable(TableName.valueOf(namespace, tblName)); 

     Result r = t.get(g); 
     byte[] mobContent = r.getValue(columnFamily, qualifier); 

     Path outPath = FileSystems.getDefault() 
       .getPath("C:/testBigFile_fromHBase.xml"); 
     Files.write(outPath, mobContent);