(1)createTable(String tableName, String[] fields)创建表。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
import org.apache.hadoop.hbase.util.Bytes;
import java.io.IOException;
public class CreateTable {
public static Configuration configuration;
public static Connection connection;
public static Admin admin;
public static void init(){ //建立连接
configuration = HBaseConfiguration.create();
configuration.set( "hbase.rootdir" , "hdfs://localhost:9000/hbase" );
try {
connection = ConnectionFactory.createConnection(configuration);
admin = connection.getAdmin();
} catch (IOException e){
e.printstacktrace();
}
}
public static void close(){ //关闭连接
try {
if (admin != null ){
admin.close();
}
if (connection != null ){
connection.close();
}
} catch (IOException e){
e.printstacktrace();
}
}
public static void createTable(String tableName,String[] fields) throws IOException{
init();
TableName tablename = TableName.valueOf(tableName); //定义表名
if (admin.tableExists(tablename)){
System.out.println( "table is exists!" );
admin.disableTable(tablename);
admin.deleteTable(tablename);
}
TableDescriptorBuilder tableDescriptor = TableDescriptorBuilder.newBuilder(tablename);
for ( int i= 0 ;i<fields.length;i++){
ColumnFamilyDescriptor family = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(fields[i])).build();
tableDescriptor.setColumnFamily(family);
}
admin.createTable(tableDescriptor.build());
close();
}
public static void main(String[] args){
String[] fields = { "id" , "score" };
try {
createTable( "test" ,fields);
} catch (IOException e){
e.printstacktrace();
}
}
}
|
(2)addRecord(String tableName, String row, String[] fields, String[] values)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Table;
public class addRecord {
public static Configuration configuration;
public static Connection connection;
public static Admin admin;
public static void init(){ //建立连接
configuration = HBaseConfiguration.create();
configuration.set( "hbase.rootdir" , "hdfs://localhost:9000/hbase" );
try {
connection = ConnectionFactory.createConnection(configuration);
admin = connection.getAdmin();
} catch (IOException e){
e.printstacktrace();
}
}
public static void close(){ //关闭连接
try {
if (admin != null ){
admin.close();
}
if (connection != null ){
connection.close();
}
} catch (IOException e){
e.printstacktrace();
}
}
public static void addRecord(String tableName,String row,String[] fields,String[] values) throws IOException{
init(); //连接Hbase
Table table = connection.getTable(TableName.valueOf(tableName)); //表连接
Put put = new Put(row.getBytes()); //创建put对象
for ( int i= 0 ;i<fields.length;i++){
String[] cols = fields[i].split( ":" );
if (cols.length == 1 ){
put.addColumn(fields[i].getBytes(), "" .getBytes(),values[i].getBytes());
}
else {
put.addColumn(cols[ 0 ].getBytes(),cols[ 1 ].getBytes(),values[i].getBytes());
}
table.put(put); //向表中添加数据
}
close(); //关闭连接
}
public static void main(String[] args){
String[] fields = { "score:Math" , "score:Computer Science" , "score:English" };
String[] values = { "90" , "90" , "90" };
try {
addRecord( "grade" , "S_Name" ,fields,values);
} catch (IOException e){
e.printstacktrace();
}
}
}
|
(3)scanColumn(String tableName, String column)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
import java.io.IOException;
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.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Get;
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.client.Table;
import org.apache.hadoop.hbase.util.Bytes;
public class scanColumn {
public static Configuration configuration;
public static Connection connection;
public static Admin admin;
public static void init(){ //建立连接
configuration = HBaseConfiguration.create();
configuration.set( "hbase.rootdir" , "hdfs://localhost:9000/hbase" );
try {
connection = ConnectionFactory.createConnection(configuration);
admin = connection.getAdmin();
} catch (IOException e){
e.printstacktrace();
}
}
public static void close(){ //关闭连接
try {
if (admin != null ){
admin.close();
}
if (connection != null ){
connection.close();
}
} catch (IOException e){
e.printstacktrace();
}
}
public static void showResult(Result result){
Cell[] cells = result.rawCells();
for ( int i= 0 ;i<cells.length;i++){
System.out.println( "RowName:" + new String(CellUtil.cloneRow(cells[i]))); //打印行键
System.out.println( "ColumnName:" + new String(CellUtil.cloneQualifier(cells[i]))); //打印列名
System.out.println( "Value:" + new String(CellUtil.cloneValue(cells[i]))); //打印值
System.out.println( "Column Family:" + new String(CellUtil.cloneFamily(cells[i]))); //打印列簇
System.out.println();
}
}
public static void scanColumn(String tableName,String column){
init();
try {
Table table = connection.getTable(TableName.valueOf(tableName));
Scan scan = new Scan();
scan.addFamily(Bytes.toBytes(column));
ResultScanner scanner = table.getScanner(scan);
for (Result result = scanner.next();result != null ;result = scanner.next()){
showResult(result);
}
} catch (IOException e) {
e.printstacktrace();
}
finally {
close();
}
}
public static void main(String[] args){
scanColumn( "Student" , "S_Age" );
}
}
|
(4)modifyData(String tableName, String row, String column)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Table;
public class modifyData {
public static Configuration configuration;
public static Connection connection;
public static Admin admin;
public static void init(){ //建立连接
configuration = HBaseConfiguration.create();
configuration.set( "hbase.rootdir" , "hdfs://localhost:9000/hbase" );
try {
connection = ConnectionFactory.createConnection(configuration);
admin = connection.getAdmin();
} catch (IOException e){
e.printstacktrace();
}
}
public static void close(){ //关闭连接
try {
if (admin != null ){
admin.close();
}
if (connection != null ){
connection.close();
}
} catch (IOException e){
e.printstacktrace();
}
}
public static void modifyData(String tableName,String row,String column,String value) throws IOException{
init();
Table table = connection.getTable(TableName.valueOf(tableName));
Put put = new Put(row.getBytes());
String[] cols = column.split( ":" );
if (cols.length == 1 ){
put.addColumn(column.getBytes(), "" .getBytes(), value.getBytes());
}
else {
put.addColumn(cols[ 0 ].getBytes(), cols[ 1 ].getBytes(), value.getBytes());
}
table.put(put);
close();
}
public static void main(String[] args){
try {
modifyData( "Student" , "1" , "S_Name" , "Tom" );
}
catch (Exception e){
e.printstacktrace();
}
}
}
|
(5)deleteRow(String tableName, String row)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Table;
public class deleteRow {
public static Configuration configuration;
public static Connection connection;
public static Admin admin;
public static void init(){ //建立连接
configuration = HBaseConfiguration.create();
configuration.set( "hbase.rootdir" , "hdfs://localhost:9000/hbase" );
try {
connection = ConnectionFactory.createConnection(configuration);
admin = connection.getAdmin();
} catch (IOException e){
e.printstacktrace();
}
}
public static void close(){ //关闭连接
try {
if (admin != null ){
admin.close();
}
if (connection != null ){
connection.close();
}
} catch (IOException e){
e.printstacktrace();
}
}
public static void deleteRow(String tableName,String row) throws IOException{
init();
Table table = connection.getTable(TableName.valueOf(tableName));
Delete delete = new Delete(row.getBytes());
table.delete(delete);
close();
}
public static void main(String[] args){
try {
deleteRow( "Student" , "3" );
} catch (Exception e){
e.printstacktrace();
}
}
}
|
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。