版权声明:可以任意转载,转载时请注明原文出处
HBase Shell 提供的命令行语句,相对于 SQL 语句来说操作难度大了很多,也没有那么多功能。然而,通过预先准备好的“高阶”语句,我们还是可以实现一些特定功能。
-
统计表中记录数
count '表名'
-
根据 RowKey 获取数据
get '表名', 'rowKey'
-
根据 RowKey 范围获取数据
scan '表名', {STARTROW => '起始rowKey', ENDROW => '结束rowKey'}
-
根据列值获取数据(会全表扫描,用之前想一想),这里也可以将 SingleColumnValueFilter 调整为使用其它过滤器,在 import 语句引入即可
import org.apache.hadoop.hbase.filter.CompareFilter import org.apache.hadoop.hbase.filter.SingleColumnValueFilter import org.apache.hadoop.hbase.util.Bytes scan '表名', {FILTER => SingleColumnValueFilter.new(Bytes.toBytes('列族'), Bytes.toBytes('列名'), CompareFilter::CompareOp.valueOf('EQUAL'), Bytes.toBytes('字段值'))}
-
过滤返回字段、数据内容
// 只返回指定列或者列族 scan '表名', {COLUMNS => ['列族:列名', '列族']} // 只返回2条记录 scan '表名', {LIMIT => 2}
-
使用 Linux 管道命令
- 准备 HBase Shell 语句放入 a.txt
- 执行
cat a.txt | hbase shell
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于