HBase API使用
来源:互联网 发布:端口80被system占用 编辑:程序博客网 时间:2024/05/23 19:15
1.创建表
import java.io.IOException;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.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.HBaseAdmin;public class CreateTable { public static void main(String[] args) throws IOException { Configuration conf=HBaseConfiguration.create(); //zookeeper地址 conf.set("hbase.zookeeper.quorum","node1,node2,node3"); //建立连接 Connection connection=ConnectionFactory.createConnection(conf); //表名 String tableName="test-hbase"; //列族名 String columnName="info"; //表管理类 Admin admin=connection.getAdmin(); //定义表名 HTableDescriptor tableDescriptor=new HTableDescriptor(TableName.valueOf(tableName)); tableDescriptor.addFamily(new HColumnDescriptor(columnName)); admin.createTable(tableDescriptor); //定义表结构// HColumnDescriptor columnDescriptor=new HColumnDescriptor(columnName);// admin.addColumn(TableName.valueOf(tableName), columnDescriptor); admin.close(); connection.close(); }}
总结:
第一次执行创建了表,第二次执行出现错误了,我没发现,害的找了半天,以后注意增强代码的容错能力。
2.插入
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.Connection;import org.apache.hadoop.hbase.client.ConnectionFactory;import org.apache.hadoop.hbase.client.Put;import org.apache.hadoop.hbase.client.Table;public class Insert { public static void main(String[] args) throws IOException { Configuration conf=HBaseConfiguration.create(); //zookeeper地址 conf.set("hbase.zookeeper.quorum", "node1,node2,node3"); //建立连接 Connection connection=ConnectionFactory.createConnection(conf); //表名 String tableName="test-hbase"; //列族名 String columnName="info"; //行键 String rowkey="rk1"; //列名 String qulifier="c1"; //值 String value="value1"; //建立表连接 Table table=connection.getTable(TableName.valueOf(tableName)); //用行键实例化Put Put put=new Put(rowkey.getBytes()); //指定列族名、列名和值 put.addColumn(columnName.getBytes(), qulifier.getBytes(), value.getBytes()); //执行Put table.put(put); //关闭表 table.close(); //关闭连接 connection.close(); }}```![这里写图片描述](http://img.blog.csdn.net/20170503155057143?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpamlhbnBlbmcyMDEzXzIwMTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)3.读取<div class="se-preview-section-delimiter"></div>
这里写代码片
“`
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.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.Table;import org.apache.hadoop.hbase.util.Bytes;public class Read { public static void main(String[] args) throws IOException { Configuration conf=HBaseConfiguration.create(); //zookeeper地址 conf.set("hbase.zookeeper.quorum", "node1,node2,node3"); //建立连接 Connection connection=ConnectionFactory.createConnection(conf); //表名 String tableName="test-hbase"; //列族名 String columnName="info"; //行键 String rowkey="rk1"; //列名 String qulifier="c1"; //建立表连接 Table table=connection.getTable(TableName.valueOf(tableName)); //用行键实例化Get Get get=new Get(rowkey.getBytes()); //增加列族名和列名条件 get.addColumn(columnName.getBytes(), qulifier.getBytes()); //执行Get返回结果 Result result=table.get(get); //取出结果 String valueStr=Bytes.toString(result.getValue(columnName.getBytes(), qulifier.getBytes())); System.out.println(valueStr); //关闭表 table.close(); //关闭连接 connection.close(); }}
4.扫描
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.Connection;import org.apache.hadoop.hbase.client.ConnectionFactory;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 ScanTest { public static void main(String[] args) throws IOException { Configuration conf=HBaseConfiguration.create(); //zookeeper地址 conf.set("hbase.zookeeper.quorum", "node1,node2,node3"); //建立连接 Connection connection=ConnectionFactory.createConnection(conf); //表名 String tableName="test-hbase"; //列族名 String columnName="info"; //开始行键 String startRow="rk1"; //结束行键 String endRow="rk5"; //列名 String qulifier="c1"; //值 String value="value1"; //建立表连接 Table table=connection.getTable(TableName.valueOf(tableName)); //初始化Scan实例 Scan scan=new Scan(); //指定开始行减 scan.setStartRow(startRow.getBytes()); //指定结束行键 scan.setStopRow(endRow.getBytes()); //增加过滤条件 scan.addColumn(columnName.getBytes(), qulifier.getBytes()); //返回结果 ResultScanner rs=table.getScanner(scan); //迭代并取出结果 for(Result result:rs){ String valueStr=Bytes.toString(result.getValue(columnName.getBytes(), qulifier.getBytes())); System.out.println(valueStr); } //关闭表 table.close(); //关闭连接 connection.close(); }}
5.删除单元格
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.Connection;import org.apache.hadoop.hbase.client.ConnectionFactory;import org.apache.hadoop.hbase.client.Delete;import org.apache.hadoop.hbase.client.Table;public class DeleteTest { public static void main(String[] args) throws IOException { Configuration conf=HBaseConfiguration.create(); //zookeeper地址 conf.set("hbase.zookeeper.quorum", "node1,node2,node3"); //建立连接 Connection connection=ConnectionFactory.createConnection(conf); //表名 String tableName="test-hbase"; //列族名 String columnName="info"; //行键 String rowkey="rk2"; //列名 String qulifer="c1"; //值 String value="value3"; //建立表连接 Table table=connection.getTable(TableName.valueOf(tableName)); //用行键来实例化Delete实例 Delete delete=new Delete(rowkey.getBytes()); //增加删除条件 delete.addColumn(columnName.getBytes(), qulifer.getBytes()); //执行删除 table.delete(delete); //关闭表 table.close(); //关闭连接 connection.close(); System.out.println("删除成功!"); }}
6.删除表
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;public class DropTable { public static void main(String[] args) throws IOException { Configuration conf=HBaseConfiguration.create(); //zookeeper地址 conf.set("hbase.zookeeper.quorum", "node1,node2,node3"); //建立连接 Connection connection=ConnectionFactory.createConnection(conf); //表名 String tableName="test-hbase"; //表管理类 Admin admin=connection.getAdmin(); //首先禁用表 admin.disableTable(TableName.valueOf(tableName)); //最后删除表 admin.deleteTable(TableName.valueOf(tableName)); //关闭表管理 admin.close(); //关闭连接 connection.close(); System.out.println("执行成功"); }}
1 0
- hbase api 使用
- Hbase的API使用
- HBase客户端API使用
- HBase客户端API使用
- Hbase Java API使用
- HBase API使用
- Hbase API使用总结
- hbase使用api创建表
- hbase java api 使用demo
- scala使用hbase新api
- 使用 Java API 操作 HBase
- Hbase之Java API使用
- 使用scala操作hbase api
- HBase Java API 使用示例
- Hbase API 的简单使用
- Hbase之新型API使用
- HBase Java API 使用示例
- hbase rest api的使用
- 46. Permutations
- js正则表单验证(trim封装)
- C++中提示fatal error RC1015:cannot open include file 'afxres.h'
- SpringMVC预览上传图片功能的实现
- python-12-如何判断字符串a是否以字符串b开头或结尾(改变文件权限)?
- HBase API使用
- bitbucket教程 bitbucket官网注册 bitbucket入门手册 手把手操作指南
- 拓扑排序Topological Sorting
- 常用免费快递查询API对接案例
- 栈
- oel7+oracle12c tns 超时
- 案例十四、游戏
- 如何用Dockerfile创建镜像
- Java交换两个数的四种方法和效率