0 引言
生产中经常需要对HBase进行建表、删除、插入数据等相关操作,本文总结了两种常用的方法供读者使用
1 方法
(1)方法1利用EOF
#!/bin/bash
#table_head='iot_phm_'
if [ "$1" != "" ];then
table_head=$1
fi;
CF='phm'
if [ "$2" != "" ];then
CF=$2
fi;
HBASE_HOME=/usr/idp/current/hbase-client
$HBASE_HOME/bin/hbase shell <<EOF
create "${table_head}inspect", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}shock", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}environment", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}conresis", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}transtime", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}input", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}lightningswitch", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}tdcs", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}relay", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
EXIT;
EOF
(2)方法2 利用echo等命令
#!/bin/bash
#table_head='iot_phm_'
if [ "$1" != "" ];then
table_head=$1
fi;
if [ "$2" != "" ];then
CF=$2
fi;
HBASE_HOME=/usr/idp/current/hbase-client
echo "
status
list
scan 'test_dd'
create "${table_head}inspect", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}shock", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}environment", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}conresis", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}transtime", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}input", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}lightningswitch", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}tdcs", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
create "${table_head}relay", {NAME => "$CF",COMPRESSION => 'SNAPPY'}
" | ${HBASE_HOME}/hbase shell -n >/dev/null 2>&1
status=$?
if [ $status == 0 ]; then
echo "success"
else
echo "error"
fi
2 小 结
本文总结了一种批量使用HBase shell命令的方法,比如有需要批量建表需求的时候可以采用此种方法