永发信息网

各位大神 有会做Hbase数据库的吗 可以给指导下吗 小妹跪谢啊

答案:1  悬赏:50  手机版
解决时间 2021-01-27 06:33
各位大神 有会做Hbase数据库的吗 可以给指导下吗 小妹跪谢啊
最佳答案
下面是一个用eclipse java开发Hbse的例子和流程:
创建普通java project
导入外部jar包(右键工程名-->properties-->Libraries-->Add Ecternal JARs),jar包列表如下:
hbase/hbase.jar

hadoop/hadoop-common.jar

hbase/lib/commons-logging-1.1.1.jar

com.google.guava_1.6.0.jar

hbase/lib/commons-lang-2.5.jar

hbase/lib/commons-configuration-1.6.jar

hadoop/hadoop-auth-2.0.0-cdh4.2.2.jar

hbase/lib/slf4j-api-1.6.1.jar

hbase/lib/zookeeper.jar

com.google.protobuf-2.4.0.jar

slf4j-nop-1.7.6.jar



3.样例程序(将外部命令的输出存入HBase中)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.Runtime;
import java.util.Vector;
import java.util.ArrayList;
import java.util.List;


import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.HTablePool;
import org.apache.hadoop.hbase.client.HTableInterface;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.util.Bytes;




public class CMD {


public static void main(String[] args) {
CMD cmd = new CMD("testCMD");
cmd.myCMD();
}

private  Configuration conf ;
private  HBaseAdmin admin;
    private  HTable table;
CMD(String tablename){
Configuration cnf = new Configuration();
        cnf.set("hbase.zookeeper.quorum", "your_master");
        cnf.set("hbase.zookeeper.property.clientPort", "2181");
        this.conf = HBaseConfiguration.create(cnf);
        try {
this.admin = new HBaseAdmin(this.conf);
this.table = new HTable(this.conf, tablename);
this.table.setAutoFlush(false);
} catch (MasterNotRunningException e) {
e.printStackTrace();
} catch (ZooKeeperConnectionException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}


public void insertData(String key, String data){
Put put = new Put(Bytes.toBytes(key)); 
put.setWriteToWAL(false);
put.add(Bytes.toBytes("cf"),Bytes.toBytes("cq"),Bytes.toBytes(data));
try {
this.table.put(put);
} catch (IOException e1) {
e1.printStackTrace();
}
}

public void myCMD(){
long startTime=System.currentTimeMillis();
try {
                       String cmd = "client"; //client是一个cpp可执行程序
Process process = Runtime.getRuntime().exec(cmd);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line, key="";
StringBuilder data = new StringBuilder();
                       line = bufferedReader.readLine();
while(line != null){
                            System.out.println("test: " + line.length() + "...");
                           if(line.startsWith("key:")){
                                  key = line.substring(4);
                                  insertData(key, data.substring(0, data.length() - 1));
                                  System.out.println(key + ": " + data.length() + ", " + data.substring(0, data.length() - 1).length());
                                 data.delete(0, data.length());
                            }
                       else{
                            data.append(line + "
");
                        }
                line = bufferedReader.readLine();
            }
process.waitFor();
this.table.close();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
long endTime=System.currentTimeMillis(); 
System.out.println("Total time: " + (endTime-startTime) + "ms");
}
}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我要申请一个专利,但是如果我的专利还在申请
深圳市出入境检验检疫局工业品检测技术中心自
cf仓雷怎么得
g4560最高能发挥发挥到哪个级别显卡的全部性
中国文锦渡出入境检验检疫局检务一科地址有知
日本有关家庭的习俗
裤子的26至27码等于英文字母的多少码
如何用PM8.0设置C盘为活动分区
石化集团加油站(205省道)地址好找么,我有些
推销蜘蛛侠衣服300字作文
天天象棋36关怎么过两个车一个相
我买了小型炉子带一个长116厘米高45厘米的单
顺达加油站(302省道)地址在什么地方,想过去
《镇魂街》动漫第一集开头和结尾说的话是哪句
蛇口出入境检验检疫局熏蒸消毒场地址在什么地
推荐资讯
戎逻的意思是什么啊?知道的请说下!
继“太行” 航空发动机问世以来,今年又传好
我左手也会写反字,好像天生就会,这是为什么
东后街/焦家巷(路口)在什么地方啊,我要过去
我父亲出车祸,现双方都己无支付医疗费的能力
土建施工有哪些工序
如图所示进行乙醇催化氧化实验,试管A中盛有无
火漆的意思是什么啊?知道的请说下!
nibiru火星一号H1开售时间?谁知道?
怎么办理不要年费的信用卡
噧言的意思是什么啊?知道的请说下!
以勇于放下为题议论文600字左右
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?