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}