HBase教程

HBase 扫描

使用 HBase Shell 进行扫描

scan 命令用于查看HTable 中的数据。使用scan命令可以获取表数据。其语法如下:
scan ‘<table name>’ 

示例

以下示例显示如何使用 scan 命令从表中读取数据。在这里,我们正在读取 emp 表。
hbase(main):010:0> scan 'emp'
ROW                           COLUMN + CELL
1 column = personal data:city, timestamp = 1417521848375, value = hyderabad
 
1 column = personal data:name, timestamp = 1417521785385, value = ramu
1 column = professional data:designation, timestamp = 1417585277,value = manager
1 column = professional data:salary, timestamp = 1417521903862, value = 50000
1 row(s) in 0.0370 seconds

使用 Java API 扫描

使用java API扫描整个表数据的完整程序如下。
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
public class ScanTable{
   public static void main(String args[]) throws IOException{
      // Instantiating Configuration class
      Configuration config = HBaseConfiguration.create();
      // Instantiating HTable class
      HTable table = new HTable(config, "emp");
      // Instantiating the Scan class
      Scan scan = new Scan();
      // Scanning the required columns
      scan.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"));
      scan.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("city"));
      // Getting the scan result
      ResultScanner scanner = table.getScanner(scan);
      // Reading values from scan result
      for (Result result = scanner.next(); result != null; result = scanner.next())
      System.out.println("Found row : " + result);
      //closing the scanner
      scanner.close();
   }
}
编译并执行上述程序,如下所示。
$javac ScanTable.java
$java ScanTable 
以下应该是输出:
Found row :
keyvalues={row1/personal:city/1418275612888/Put/vlen=5/mvcc=0,
row1/personal:name/1418035791555/Put/vlen=4/mvcc=0}
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4