首页 > 代码库 > Eclipse远程连接HBase
Eclipse远程连接HBase
在Eclipse下新建一个Map/Reduce项目,并将以下jar添加到Build path:
程序代码:
package thathbase;import java.io.IOException;import java.util.Random;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.client.Connection;import org.apache.hadoop.hbase.client.ConnectionFactory;import org.apache.hadoop.hbase.client.HBaseAdmin;import org.apache.hadoop.hbase.client.HTable;import org.apache.hadoop.hbase.client.Put;public class HelloHbase { static Configuration conf; static HBaseAdmin admin; static Connection conn; static HTableDescriptor tableDescriptor; static HTable table; static Put putRow1; static Put putRow2; static Random rand =new Random(25); public static void main(String[] args) throws Exception { // TODO Auto-generated method stub init(); createTable(); insertTable(); } private static void init() throws Exception { conf = HBaseConfiguration.create(); conf.set("hbase.zookeeper.property.clientPort", "2181"); conf.set("hbase.zookeeper.quorum", "master,slave03,slave04"); conf.set("hbase.master", "master:60000"); conn = ConnectionFactory.createConnection(conf); admin = (HBaseAdmin) conn.getAdmin(); } @SuppressWarnings("deprecation") private static void createTable() throws Exception{ if (!admin.tableExists("scores")){ tableDescriptor = new HTableDescriptor("scores".getBytes()); tableDescriptor.addFamily(new HColumnDescriptor("fam1")); admin.createTable(tableDescriptor); } else{ System.out.println("Table already exists!"); } table = new HTable(conf, "scores"); } @SuppressWarnings("deprecation") private static void insertTable() throws IOException{ putRow1 = new Put("row1".getBytes()); putRow2 = new Put("row2".getBytes()); for (int i =0; i<1000; i++){ if (rand1() == 1){ putRow1.add("fam1".getBytes(),"col1".getBytes(),String.valueOf(rand2()).getBytes()); table.put(putRow1); System.out.println(i + ":Insert into col1."); } else{ putRow2.add("fam1".getBytes(),"col2".getBytes(),String.valueOf(rand2()).getBytes()); table.put(putRow2); System.out.println(i + ":Insert into col2."); } } } private static int rand1(){ int r = rand.nextInt(100); if (r < 50) return 1; else return 2; } private static int rand2(){ int r = rand.nextInt(10000); return r; }}
以上程序调用HBAse的API,实现了新建一张表,并随机向表里插入数据。
Eclipse远程连接HBase
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。