温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java代码访问Hbase测试

发布时间:2020-06-27 17:11:06 来源:网络 阅读:599 作者:刀刀_高扬 栏目:关系型数据库

import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
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.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;
import org.junit.Test;

public class Run {

static Configuration conf = null;

public static Configuration configuration;
static {
conf = HBaseConfiguration.create();
configuration = HBaseConfiguration.create();
configuration.set("hbase.zookeeper.property.clientPort", "2181");
configuration.set("hbase.zookeeper.quorum", "hd1,hd2,hd3,hd4");
configuration.set("hbase.master", "hd1:60000");
}


public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
try {
System.out.println("start");

go();
System.out.println("over");
}
catch (Exception e)
{
System.out.println(e.toString());
}
}

public Run() throws IOException {
super();

}

public static void go() throws IOException
{
for (int i1 = 0; i1 <= 3; i1++) {
for (int i2 = 0; i2 <= 3; i2++) {
for (int i3 = 0; i3 <= 3; i3++) {
for (int i4 = 0; i4 <= 3; i4++) {
System.out.println(Integer.toString(i1*1000+i2*100+i3*10+i4));
addData(i1, i2, i3, i4);
}
}
}
}
}

public static void addData(int i1, int i2, int i3, int i4) throws IOException {
String strTBName = "ttable0";
String strColFamily = "tuser";
String strColumn = "b";//列名
String strRowKey = "";//行号
String strValue = "1";//值

HTable table1 = new HTable(conf, strTBName);
strRowKey = Integer.toString(i1)+Integer.toString(i2)+Integer.toString(i3)+Integer.toString(i4);
Put put = new Put(Bytes.toBytes(strRowKey));// 设置行号,RowKey

put.add(Bytes.toBytes(strColFamily), Bytes.toBytes(strColumn),
Bytes.toBytes(strValue));

table1.put(put);

table1.close();
}


}

单纯这样写,别的问题没有,就是速度超级慢。损失的环节主要是建立连接和分配HTable的时候。 




向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI