大象教程
首页
Spark
Hadoop
HDFS
MapReduce
Hive
HBase 教程
HBase 教程
HBase 体系结构
HBase 安装
HBase Shell
HBase 通用命令
HBase 管理员 API
HBase 创建表
HBase 列出表
HBase 禁用表
HBase 启用表
HBase 表描述和更改
HBase 验证表是否存在(exist命令)
HBase 删除表
HBase 关闭
HBase 客户端 API
HBase 创建(插入)数据
HBase 更新数据
HBase 读取数据
HBase 删除数据
HBase 扫描(scan)
HBase 计数(count)和截断(truncate)
HBase 安全
#HBase 扫描(scan) ##使用HBase Shell扫描 scan命令用于在HTable查看数据。使用`scan`命令,可以获得表数据。其语法如下: ```bash scan '
' ``` 以下示例显示如何使用scan命令从表中读取数据。在这里,我们正在阅读emp表。 ```bash 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扫描整个表数据的完整程序如下。 ```java 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(); } } ``` 编译并执行上述程序,如下所示。 ```bash $javac ScanTable.java $java ScanTable ``` 以下应该是输出: ``` Found row : keyvalues={2/personal data:city/1609724365298/Put/vlen=7/seqid=0, 2/personal data:name/1609724347682/Put/vlen=4/seqid=0} Found row : keyvalues={3/personal data:city/1609724457831/Put/vlen=5/seqid=0, 3/personal data:name/1609724433117/Put/vlen=6/seqid=0} Found row : keyvalues={row1/personal data:city/1609730663707/Put/vlen=5/seqid=0} ```
加我微信交流吧