- HBase 教程
- HBase - 主页
- HBase - 概述
- HBase - 架构
- HBase - 安装
- HBase - Shell
- HBase - 通用命令
- HBase - 管理 API
- HBase - 创建表
- HBase - 列出表
- HBase - 禁用表
- HBase - 启用表
- HBase - Describe 和 Alter
- HBase - Exists
- HBase - 删除表
- HBase - 关闭
- HBase - 客户端 API
- HBase - 创建数据
- HBase - 更新数据
- HBase - 读取数据
- HBase - 删除数据
- HBase - 扫描
- HBase - Count 和 Truncate
- HBase - 安全性
- HBase 资源
- HBase - 问题和答案
- HBase - 快速指南
- 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}
广告