
Die
Scan Befehl wird verwendet, um die Daten in HTable anzuzeigen. Verwendung der Scan-Befehl ,können Sie bekommen die Tabellendaten. Seine Syntax ist wie folgt:
scan ‘<table name>’
Das folgende Beispiel zeigt, wie Sie Daten aus einer Tabelle mit Hilfe der Scan-Befehl zu lesen. Hier wir sind das Lesen der Tabelle emp werden.
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
Das komplette Programm, zu scannen um die gesamte Tabelle Daten mit Hilfe von Java API ist wie folgt
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();
}
}
Kompilieren Sie und führen Sie das obige Programm wie unten gezeigt.
$javac ScanTable.java $java ScanTable
Folgendes sollte der Ausgabe sein:
Found row :
keyvalues={row1/personal:city/1418275612888/Put/vlen=5/mvcc=0,
row1/personal:name/1418035791555/Put/vlen=4/mvcc=0}