查询hbase状态
hbase(main):004:0> status
1 active master, 0 backup masters, 3 servers, 0 dead, 4.6667 average load
hbase(main):005:0> version
1.2.6, rUnknown, Mon May 29 02:25:32 CDT 2017
列表
hbase(main):006:0> list
TABLE
AK_TEST1
SYSTEM.CATALOG
SYSTEM.FUNCTION
SYSTEM.SEQUENCE
SYSTEM.STATS
hbase(main):001:0> exit
[root@master01 bin]#
查询表的行数 count
1.secureCRT中,点击【选项】【回话选项】【终端】【仿真】,右边的终端选择linux 颜色方案勾掉ANSI选择下个颜色方案
2.ctrl+backspace 删除hbase无法回退的内容
1、
maven配置:---------------------------------------------<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>1.2.6</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>1.2.6</version>
</dependency>
2、java例子:
try {
// 下面的驱动为Phoenix老版本使用2.11使用,对应hbase0.94+
// Class.forName("com.salesforce.phoenix.jdbc.PhoenixDriver");
// phoenix4.3用下面的驱动对应hbase0.98+
Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");
} catch (Exception e) {
e.printStackTrace();
}
// 这里配置zookeeper的地址,可单个,也可多个。可以是域名或者ip
String url = "jdbc:phoenix:2.22.2.98,2.22.2.81,2.22.2.88:2181";
// String url =
// "jdbc:phoenix:41.byzoro.com,42.byzoro.com,43.byzoro.com:2181";
Connection conn = DriverManager.getConnection(url);
Statement statement = conn.createStatement();
String sql = "select * from ak_test1";
long time = System.currentTimeMillis();
ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
int count = rs.getInt("ID");
System.out.println("row count is " + count);
}
long timeUsed = System.currentTimeMillis() - time;
System.out.println("time " + timeUsed + "mm");
// 关闭连接
rs.close();
statement.close();
conn.close();
4、-------------------------------------------------------
常用命令:
进入phoenix:
切换到安装目录的bin下。登录:
./sqlline.py m01:2181
显示所有表:
!tables
创建表:
CREATE TABLE ak_test1( id BIGINT not null primary key);
插入和更新都是upsert
upsert into test(area,point_id) values('moushi','014807412950') "
问题:
比如我主键有2个字段非空,,
我更新就必须知道这2个非空的字段值,才能更新,而无法where用某个字段批量更新
Phoenix driver closed because server is shutting down 异常:
修改为批量提交解决
select id,road_start_timestamp,end_timestamp from test
where id='014807391845' and tart_timestamp>=1480000000 and start_timestamp<=1490000000;
HBase 官方:https://hbase.apache.org/
Phoenix 官方:https://github.com/forcedotcom/phoenix