2016-06-23 2 views
0

HBase(Cloudera 5.7 Distribution)で問題が発生しています。 私は問題ではありませんデータを格納するために(MOB DocumentationDescription of MOB-ConceptHBaseのバイナリデータを取得する

を起動し、新しいMOB機能をバイナリデータ(PDFの、ワード、JPEG、...)のHBaseで保管してください。しかし、どのようにHBaseからファイルを取り出すことができますか(対話として保存することをお勧めします)?

ありがとうございます!

答えて

0

MOBのサポートにClouderaのドキュメントで述べたように

機能は、クライアントに対して透過的です。

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

これは、あなたが他の列から同じ方法保存されたMOBの内容を得ることができることを意味します。 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); 
関連する問題