HBase - स्कैन

HBase शेल का उपयोग करके स्कैन करना

scanHTable में डेटा देखने के लिए कमांड का उपयोग किया जाता है। स्कैन कमांड का उपयोग करके, आप टेबल डेटा प्राप्त कर सकते हैं। इसका सिंटैक्स इस प्रकार है:

scan ‘<table name>’

उदाहरण

निम्न उदाहरण दिखाता है कि स्कैन कमांड का उपयोग करके तालिका से डेटा कैसे पढ़ें। यहां हम पढ़ रहे हैं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

जावा एपीआई का उपयोग कर स्कैनिंग

जावा एपीआई का उपयोग करके पूरे टेबल डेटा को स्कैन करने का पूरा कार्यक्रम इस प्रकार है।

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}