public class TestHabse {
//与HBase数据库的连接对象
public static Connection connection;
//数据库元数操作对象
public static Admin admin;
public static Jedis jedis = null;
public static JedisUtil JedisUtil = JedisUtil.getInstance();
public static void main(String[] args) {
try {
System.out.println("开始执行本程序");
System.out.println("HBaseDemo.main()->admin1:" + admin);
synchronousDataByHbaseToRedis();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void synchronousDataByHbaseToRedis() throws IOException {
Configuration config = HBaseConfiguration.create();
//设置连接参数:hbase数据库所在的主机IP
config.set("hbase.zookeeper.quorum", "172.16.20.13,172.16.20.14,172.16.20.15,172.16.20.16,172.16.20.17");
//设置连接参数:hbase数据库使用的接口
config.set("hbase.zookeeper.property.clientPort", "2181");
Connection conn = ConnectionFactory.createConnection(config);
// 创建一个数据库管理员
Table table = conn.getTable(TableName.valueOf("company_invest"));
try {
Scan scan = new Scan();
// 扫某一列
scan.addColumn(Bytes.toBytes(“data”), Bytes.toBytes(“invests”));
scan.addColumn(Bytes.toBytes(“data”), Bytes.toBytes(“keyno”));
ResultScanner resultScanner = table.getScanner(scan);
jedis = JedisUtil.getJedis();
Pipeline pip = jedis.pipelined();
int level = 1;
for (Result r : resultScanner) {
String keyno = Bytes.toString(r.getValue(Bytes.toBytes("data"), Bytes.toBytes("keyno")));
String name = Bytes.toString(r.getValue(Bytes.toBytes("data"), Bytes.toBytes("invests")));
pip.setex(keyno, 60 * 60 * 24, name);
// for (Cell kv : r.rawCells()) {
// String keyNo = Bytes.toString( kv.getRow());
// String value = Bytes.toString(CellUtil.cloneValue(kv));
// System.out.println(keyNo +"===========" +value);
// }
System.out.println(level++);
}
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
conn.close();
jedis.close();
}
}
}
Redis的连接池
/**
-
redis工具类
*/
public class JedisUtil {
private static final Logger logger = LoggerFactory.getLogger(JedisUtil.class);private static JedisPool jedisPool = null;
private JedisUtil() {
}
static {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(6000000);
config.setMaxIdle(10000);
config.setMinIdle(8);
config.setMaxWaitMillis(100000);
config.setTestOnBorrow(true);
config.setTestOnReturn(true);
config.setTestOnBorrow(true);
config.setTestWhileIdle(true);
config.setTimeBetweenEvictionRunsMillis(30000);
config.setNumTestsPerEvictionRun(10);
config.setMinEvictableIdleTimeMillis(60000);
jedisPool = new JedisPool(config, “127.0.0.1”, 6379, 10000, “123456”);
}/**
- 从jedis连接池中获取获取jedis对象
- @return
*/
public Jedis getJedis() {
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
} catch (Exception e) {
logger.info(e.getMessage());
jedis.close();
}
return jedis;
}
}