HBase
HLog
SnapShot
参考: http://www.cnblogs.com/cenyuhai/p/3712943.html
写入/读取
Compaction
Filters
hbase(main):075:0>show_filters
ColumnPrefixFilter
TimestampsFilter
PageFilter
MultipleColumnPrefixFilter
FamilyFilter
ColumnPaginationFilter
SingleColumnValueFilter
RowFilter
QualifierFilter
ColumnRangeFilter
ValueFilter
PrefixFilter
SingleColumnValueExcludeFilter
ColumnCountGetFilter
InclusiveStopFilter
DependentColumnFilter
FirstKeyOnlyFilter
KeyOnlyFilter
create 't2','p1','p2','p3' SPLITS=>['100','200']
scan 'METRIC_RECORD', {'LIMIT' => 5}
scan 'METRIC_RECORD',{ FILTER => "KeyOnlyFilter()", 'LIMIT' => 5}
scan 'METRIC_RECORD',{ FILTER => "FamilyFilter(=, 'binaryprefix:0')", 'LIMIT' => 5}
scan 'METRIC_RECORD',{ FILTER => "QualifierFilter(=, 'binaryprefix:METRICS')", 'LIMIT' => 5}
scan 'METRIC_RECORD',{ FILTER => "FirstKeyOnlyFilter()", 'LIMIT' => 2}
scan 'METRIC_RECORD',{ FILTER => "ColumnCountGetFilter(4)", 'LIMIT' => 2}
scan 'METRIC_RECORD',{ FILTER => "PageFilter(4)", 'LIMIT' => 2}
scan 'METRIC_RECORD',{ FILTER => "TimeStampsFilter(1510743200530)", 'LIMIT' => 5}
scan 'METRIC_RECORD',{ TIMERANGE => [0, 1510743381367], 'LIMIT' => 5}
# 可能由于乱码导致的
scan 'METRIC_RECORD',{ FILTER => "InclusiveStopFilter('boottime\x00hzadg-mammut-platform2.server.163.org\x00\x00\x00\x01_\xBF1\x99\xAEHOST')", 'LIMIT' => 2}
scan 'METRIC_RECORD',{ FILTER => "QualifierFilter(=, 'binary:METRICS')", 'LIMIT' => 2}
scan 'METRIC_RECORD',{ COLUMNS => '0:METRICS', FILTER => "ValueFilter(=, 'binaryprefix:{\"1510')", 'LIMIT' => 2}
scan 'METRIC_RECORD',{ FILTER => "PrefixFilter('boottime\x00hzadg-mammut-platform2.server.1')", 'LIMIT' => 2}
scan 'METRIC_RECORD',{ FILTER => "PrefixFilter('boottime\x00hzadg-mammut-platform2.server.1') AND ColumnPrefixFilter('METRIC_SUM')", 'LIMIT' => 2}
scan 'METRIC_RECORD',{ FILTER => "MultipleColumnPrefixFilter('METRIC_SUM', 'METRIC_COUNT')", 'LIMIT' => 2}
scan 'METRIC_RECORD',{ FILTER => "RowFilter(=, 'substring:hzadg-mammut-platform3.server')", 'LIMIT' => 2}
scan 'METRIC_RECORD',{ FILTER => "RowFilter(=, 'substring:a')", 'LIMIT' => 2}
scan 'TABLE1',{ FILTER => "RowFilter(=, 'substring:a')", 'LIMIT' => 2}
count 'METRIC_RECORD', INTERVAL => 1000000
HFile
Phoenix
常用命令:
./sqlline.py hzadg-mammut-platform1.server.163.org:2181:/hbase-secure:hbase/hzadg-mammut-platform3.server.163.org@BDMS.163.COM:/etc/security/keytabs/hbase.service.keytab
ps aux|grep sqlline|awk '{print $2}'|xargs kill -9
/usr/jdk64/jdk1.7.0_67/bin/java $PHOENIX_OPTS -cp "/usr/ndp/current/phoenix_query_server/conf:/usr/ndp/current/phoenix_query_server/conf:/usr/ndp/3.2.0/phoenix_query_server/bin/../phoenix-4.11.0-HBase-1.2-client.jar:::/usr/ndp/current/mapreduce_client/conf:/usr/ndp/current/mapreduce_client/conf:/usr/ndp/3.2.0/mapreduce_client/share/hadoop/common/lib/*:/usr/ndp/3.2.0/mapreduce_client/share/hadoop/common/*:/usr/ndp/3.2.0/mapreduce_client/share/hadoop/hdfs:/usr/ndp/3.2.0/mapreduce_client/share/hadoop/hdfs/lib/*:/usr/ndp/3.2.0/mapreduce_client/share/hadoop/hdfs/*:/usr/ndp/3.2.0/mapreduce_client/share/hadoop/yarn/lib/*:/usr/ndp/3.2.0/mapreduce_client/share/hadoop/yarn/*:/usr/ndp/3.2.0/mapreduce_client/share/hadoop/mapreduce/lib/*:/usr/ndp/3.2.0/mapreduce_client/share/hadoop/mapreduce/*::mysql-connector-java-5.1.42.jar:mysql-connector-java.jar:mysql.jar" -Dlog4j.configuration=file:/usr/ndp/3.2.0/phoenix_query_server/bin/log4j.properties sqlline.SqlLine -d org.apache.phoenix.jdbc.PhoenixDriver -u jdbc:phoenix:hzadg-mammut-platform1.server.163.org:2181:/hbase-secure -n none -p none --color=true --fastConnect=false --verbose=true --incremental=false --isolation=TRANSACTION_READ_COMMITTED
测试命令:
CREATE TABLE IF NOT
EXISTS METRIC_RECORD (METRIC_NAME VARCHAR,
HOSTNAME VARCHAR,
SERVER_TIME UNSIGNED_LONG NOT NULL,
APP_ID VARCHAR,
INSTANCE_ID VARCHAR,
START_TIME BIGINT,
UNITS CHAR(20),
METRIC_SUM DOUBLE,
METRIC_COUNT BIGINT,
METRIC_MAX DOUBLE,
METRIC_MIN DOUBLE,
METRICS VARCHAR CONSTRAINT pk
PRIMARY KEY (METRIC_NAME, HOSTNAME, SERVER_TIME, APP_ID, INSTANCE_ID)) DATA_BLOCK_ENCODING='FAST_DIFF', IMMUTABLE_ROWS=true, TTL=86400, COMPRESSION='SNAPPY';
CREATE TABLE IF NOT
EXISTS TEST_METRICS_1 (METRIC_NAME VARCHAR,
HOSTNAME VARCHAR,
SERVER_TIME UNSIGNED_LONG NOT NULL,
APP_ID VARCHAR,
INSTANCE_ID VARCHAR,
START_TIME UNSIGNED_LONG,
UNITS CHAR(20),
METRIC_SUM DOUBLE,
METRIC_COUNT UNSIGNED_INT,
METRIC_MAX DOUBLE,
METRIC_MIN DOUBLE,
METRICS VARCHAR CONSTRAINT pk
PRIMARY KEY (METRIC_NAME, HOSTNAME, SERVER_TIME, APP_ID, INSTANCE_ID)) DATA_BLOCK_ENCODING='FAST_DIFF', IMMUTABLE_ROWS=true, TTL=86400, COMPRESSION='SNAPPY';
UPSERT INTO TEST_METRICS_2 (METRIC_NAME, HOSTNAME, APP_ID, INSTANCE_ID, SERVER_TIME, START_TIME, UNITS, METRIC_SUM, METRIC_MAX, METRIC_MIN, METRIC_COUNT, METRICS) VALUES ('a', 'a','a', 'a', 1, 1111111, '1111111', 1111111, 11112111, 1111111, 1111111,'{"1111111":1111111}');
UPSERT INTO TEST_METRICS_4 (METRIC_NAME, HOSTNAME, APP_ID, INSTANCE_ID, START_TIME, SERVER_TIME, UNITS, METRIC_SUM, METRIC_MAX, METRIC_MIN, METRIC_COUNT, METRICS) VALUES ('c', 'a','e', 'a', 1516614480000, 1516614480000, '1111111', 1111111, 11112111, 1111111, 1111111,'{"1111111":1111111}');
UPSERT INTO TEST_METRICS_3 (METRIC_NAME, HOSTNAME, APP_ID, INSTANCE_ID, START_TIME, SERVER_TIME) VALUES ('a', 'b','a', 'a', 3, 1111111);
CREATE TABLE IF NOT
EXISTS TEST_METRICS_4 (METRIC_NAME VARCHAR,
HOSTNAME VARCHAR,
SERVER_TIME UNSIGNED_LONG NOT NULL,
APP_ID VARCHAR,
INSTANCE_ID VARCHAR,
START_TIME BIGINT,
UNITS CHAR(20),
METRIC_SUM DOUBLE,
METRIC_COUNT BIGINT,
METRIC_MAX DOUBLE,
METRIC_MIN DOUBLE,
METRICS VARCHAR CONSTRAINT pk
PRIMARY KEY (METRIC_NAME, HOSTNAME, SERVER_TIME, APP_ID, INSTANCE_ID)) IMMUTABLE_ROWS=true, TTL=86400;
参考:
* https://www.cloudera.com/documentation/enterprise/5-5-x/topics/admin_hbase_filtering.html
* http://www.myhadoopexamples.com/2015/06/19/hbase-shell-commands-in-practice/
* http://blog.sae.sina.com.cn/archives/3727
* 关于HBase介绍:http://www.blogjava.net/DLevin/archive/2015/08/22/426877.html
* 关于HRegion介绍:http://blog.youkuaiyun.com/linuxheik/article/details/51212137
* HBase hindex(华为): http://events.linuxfoundation.org/sites/events/files/slides/ApacheCon_hindex_0.pdf
* Phoenix详解:https://www.cnblogs.com/linbingdong/p/5832112.html
* https://phoenix.apache.org/recent.html