2017-05-13 14 views
0

Maprdbに接続しようとしています。Javaです。私はMaprdb Javaコードでテーブルを作成することができますが、私はテーブルをスキャンすることができません。JavaでMaprdbにアクセスしてレコードを取得する方法

<dependencies> 
<dependency> 
    <groupId>com.mapr.db</groupId> 
    <artifactId>maprdb</artifactId> 
    <version>5.2.0-mapr</version> 
</dependency> 
<dependency> 
    <groupId>com.mapr.hadoop</groupId> 
    <artifactId>maprfs-core</artifactId> 
    <version>5.2.0-mapr</version> 
</dependency> 
<dependency> 
    <groupId>com.mapr.hadoop</groupId> 
    <artifactId>maprfs</artifactId> 
    <version>5.2.0-mapr</version> 
</dependency> 
<dependency> 
<groupId>org.apache.hbase</groupId> 
<artifactId>hbase-client</artifactId> 
<version>1.1.8-mapr-1703</version> 
</dependency> 
<dependency> 
<groupId>org.apache.hbase</groupId> 
<artifactId>hbase-client</artifactId> 
<version>1.1.8-mapr-1703</version> 

サンプルコード

Configuration conf = HBaseConfiguration.create(); 
    String Tablepath = "Tablelocationpath"; 
    HTable hTable= new HTable(conf,Tablepath); 

    Get get2 = new Get(Bytes.toBytes("Rowname")); 
    Result r = hTable.get(get2); 
    byte[] value = r.getValue(Bytes.toBytes("CF"), 
      Bytes.toBytes("COlumnqualifier")); 
    String valueStr = Bytes.toString(value); 
    System.out.println("GET: " + valueStr); 

私はすでに、この上の任意のリードがいっぱい助けになります。このGithubcodeMaprdb with Java Github

を次しています。

答えて

0

このレベルでは、HBaseと非常に同じです。

スキャンの場合、実行するスキャンのタイプを指定するScanインスタンスが必要です。次に、それを使用してScannerを取得し、それを繰り返し処理します。ここで

は、一般的なアウトラインです:

// Configuration... 
String tablePath = "Tablelocationpath"; 
Configuration conf; 

// set up your Scan object 
Scan scan = new Scan(); 
scan.setStartRow(...); 
scan.setStopRow(...); 

Connection connection = null; 
Table table = null; 
ResultScanner scanner = null; 
try { 
    connection = ConnectionFactory.createConnection(conf); 
    table = connection.getTable(TableName.valueOf(tablePath)); 
    scanner = table.getScanner(scan); 
    Iterator it = scanner.iterator(); 

    while (it.hasNext()) { 
    Result e1 = (Result) it.next(); 
    // do whatever you want to do with your Result, before getting next one 
    } 

} catch (IOException e) { 
    // handle IOException during connecting/scanning 

} finally { 
    try { 
    if (scanner != null) { 
     scanner.close(); 
    } 

    if (table != null) { 
     table.close(); 
    } 

    if (connection != null) { 
     connection.close(); 
    } 
    } catch (IOException e2) { 
    // handle error on close 
    } 

} 
関連する問題