package com
.shujia
.hbase
;
import org
.apache
.hadoop
.conf
.Configuration
;
import org
.apache
.hadoop
.hbase
.HColumnDescriptor
;
import org
.apache
.hadoop
.hbase
.HTableDescriptor
;
import org
.apache
.hadoop
.hbase
.TableName
;
import org
.apache
.hadoop
.hbase
.client
.*
;
import org
.apache
.hadoop
.hbase
.util
.Bytes
;
import org
.junit
.Before
;
import org
.junit
.Test
;
import java
.io
.BufferedReader
;
import java
.io
.FileReader
;
import java
.io
.IOException
;
import java
.util
.ArrayList
;
public class Demo2Test {
private Connection connection
;
@Before
public void init() {
Configuration configuration
= new Configuration();
configuration
.set("hbase.zookeeper.quorum","master");
try {
connection
= ConnectionFactory
.createConnection(configuration
);
System
.out
.println("创建连接成功");
} catch (IOException e
) {
e
.printStackTrace();
}
}
@Test
public void Createtable() throws IOException
{
Admin admin
= connection
.getAdmin();
HTableDescriptor hTableDescriptor
= new HTableDescriptor(TableName
.valueOf("test2"));
HColumnDescriptor hColumnDescriptor
= new HColumnDescriptor("info".getBytes());
hColumnDescriptor
.setVersions(1,10);
hTableDescriptor
.addFamily(hColumnDescriptor
);
admin
.createTable(hTableDescriptor
);
}
@Test
public void dropTable() throws Exception
{
Admin admin
= connection
.getAdmin();
admin
.disableTable(TableName
.valueOf("test2"));
admin
.deleteTable(TableName
.valueOf("test2"));
}
@Test
public void put() throws IOException
{
Table table
= connection
.getTable(TableName
.valueOf("test2"));
Put put
= new Put("001".getBytes());
put
.addColumn("info".getBytes(),"name".getBytes(),"zhangsan".getBytes());
put
.addColumn("info".getBytes(),"age".getBytes(),"23".getBytes());
table
.put(put
);
table
.close();
}
@Test
public void putStudent() throws IOException
{
Table table
= connection
.getTable(TableName
.valueOf("student"));
BufferedReader br
= new BufferedReader(new FileReader("data/students.txt"));
String line
;
ArrayList
<Put> puts
= new ArrayList<Put>();
while((line
=br
.readLine())!=null
){
String
[] split
= line
.split(",");
String id
= split
[0];
String name
= split
[1];
String age
= split
[2];
String gender
= split
[3];
String clazz
= split
[4];
Put put
= new Put(id
.getBytes());
put
.addColumn("info".getBytes(),"name".getBytes(),name
.getBytes());
put
.addColumn("info".getBytes(),"age".getBytes(),age
.getBytes());
put
.addColumn("info".getBytes(),"gender".getBytes(),gender
.getBytes());
put
.addColumn("info".getBytes(),"clazz".getBytes(),clazz
.getBytes());
puts
.add(put
);
}
table
.put(puts
);
}
@Test
public void get() throws IOException
{
Table table
= connection
.getTable(TableName
.valueOf("student"));
Get get
= new Get("1500100004".getBytes());
Result result
= table
.get(get
);
String id
= Bytes
.toString(result
.getRow());
String name
= Bytes
.toString(result
.getValue("info".getBytes(), "name".getBytes()));
String age
= Bytes
.toString(result
.getValue("info".getBytes(), "age".getBytes()));
String gender
= Bytes
.toString(result
.getValue("info".getBytes(), "gender".getBytes()));
String clazz
= Bytes
.toString(result
.getValue("info".getBytes(), "clazz".getBytes()));
System
.out
.println(id
+"\t"+name
+"\t"+age
+"\t"+gender
+"\t"+clazz
);
}
@Test
public void scan() throws IOException
{
Table table
= connection
.getTable(TableName
.valueOf("student"));
Scan scan
= new Scan();
scan
.setLimit(10);
ResultScanner scanner
= table
.getScanner(scan
);
Result result
;
while((result
=scanner
.next())!=null
){
String id
= Bytes
.toString(result
.getRow());
String name
= Bytes
.toString(result
.getValue("info".getBytes(), "name".getBytes()));
String age
= Bytes
.toString(result
.getValue("info".getBytes(), "age".getBytes()));
String gender
= Bytes
.toString(result
.getValue("info".getBytes(), "gender".getBytes()));
String clazz
= Bytes
.toString(result
.getValue("info".getBytes(), "clazz".getBytes()));
System
.out
.println(name
+"\t"+age
+"\t"+gender
+"\t"+clazz
);
}
}
}