eclipse开发hbase程序

首先安装好hbase

创建一个java project引入hbase中lib的jar包

然后创建一个class

package sun_test_pig;

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.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;

public class HBaseTest {           

    static Configuration cfg=HBaseConfiguration.create();

    public static void creat(String tablename,String columnFamily) throws Exception {
        HBaseAdmin admin = new HBaseAdmin(cfg);
        if (admin.tableExists(tablename)) {
            System.out.println("table Exists!");
            System.exit(0);
        }
        else{
            HTableDescriptor tableDesc = new HTableDescriptor(tablename);
            tableDesc.addFamily(new HColumnDescriptor(columnFamily));
            admin.createTable(tableDesc);
            System.out.println("create table success!");
        }
    }

    public static void put(String tablename,String row, String columnFamily,String column,String data) throws Exception {
        HTable table = new HTable(cfg, tablename);
        Put p1=new Put(Bytes.toBytes(row));
        p1.add(Bytes.toBytes(columnFamily), Bytes.toBytes(column), Bytes.toBytes(data));
        table.put(p1);
        System.out.println("put ‘"+row+"‘,‘"+columnFamily+":"+column+"‘,‘"+data+"‘");
    }

   public static void get(String tablename,String row) throws IOException{
            HTable table=new HTable(cfg,tablename);
            Get g=new Get(Bytes.toBytes(row));
                Result result=table.get(g);
                System.out.println("Get: "+result);
    }
    //显示所有数据,通过HTable Scan来获取已有表的信息
    public static void scan(String tablename) throws Exception{
         HTable table = new HTable(cfg, tablename);
         Scan s = new Scan();
         ResultScanner rs = table.getScanner(s);
         for(Result r:rs){
             System.out.println("Scan: "+r);
         }
    }

    public static boolean delete(String tablename) throws IOException{

            HBaseAdmin admin=new HBaseAdmin(cfg);
            if(admin.tableExists(tablename)){
                    try
                    {
                            admin.disableTable(tablename);
                            admin.deleteTable(tablename);
                    }catch(Exception ex){
                            ex.printStackTrace();
                            return false;
                    }

            }
            return true;
    }

    public static void  main (String [] agrs) {
            String tablename="hbase_tb";
            String columnFamily="cf";

            try {
            	HBaseTest.creat(tablename, columnFamily);
            	HBaseTest.put(tablename, "row1", columnFamily, "cl1", "data");
            	HBaseTest.get(tablename, "row1");
            	HBaseTest.scan(tablename);
            if(true==HBaseTest.delete(tablename))
                    System.out.println("Delete table:"+tablename+"success!");

        }
        catch (Exception e) {
            e.printStackTrace();
        }
}
}
时间: 2024-10-28 21:01:09

eclipse开发hbase程序的相关文章

Hadoop-06-使用Eclipse开发HBase程序

使用Eclipse开发HBase程序的配置步骤 1.新建一个普通的java project. 2.在项目的 属性--java build path--libraries--Add External Jars,添加hadoop安装目录下的hbase-0.90.5.jar和hbase-0.90.5-tests.jar,以及hbase安装目录下的lib目录下的所有jar文件. 3.在项目根目录下新建conf目录,然后拷贝hbase安装目录下的conf目录下的hbase-site.xml到该文件夹下.

使用eclipse开发hbase程序时缺少包错误

在win上的eclipse进行配置hbase,然后编写一个简单的创建表的操作,使用ant的build.xml进行运行报错: [sshexec] Connecting to 192.168.60.111:22 [sshexec] cmd : /opt/hadoop/bin/hadoop jar /home/hadoop_jar/HbaseApp1.jar hbasetest.HbaseApp1 [sshexec] Exception in thread "main" [sshexec]

Eclipse开发Android程序如何在手机上运行

android开发不论是在真机上调试还是最终发布到真机上都非常简单,过程如下: 1.安装usb驱动 手机要能与电脑相连,当然要安驱动了.效果就是你插入手机,电脑显示驱动已识别.驱动安装的官方教程:http://developer.android.com/sdk/win-usb.html 官方教程概述: 不同的Android手机有对应不同的驱动,对于Nexus One, and Nexus S,见官方教程“Downloading the Goolge USB Driver”部分,直接用Androi

windows环境eclipse开发C++程序

最近看了不少java优秀的一些开源框架,总给自己一种似懂非懂的感觉.为了便于自己理解一些不长见的思想跟概念,以及理解整个java体系甚至整个编程开发体系,自己决定多去学习一门语言,再通过对比得出语言之间有哪些相同的概念.初步的选择是C++,好了不多少了,直接入正题吧! 在网上看了不少有关windows下eclipse开发C++的案例,但是由于版本问题自己总是失败,还好经过几次改变之后顺利搭建了自己的C++开发环境, 首先下载运行C++的环境我选择的是mingw:http://www.mingw.

[0010] windows 下 eclipse 开发 hdfs程序样例 (二)

目的: 学习windows 开发hadoop程序的配置 相关: [0007] windows 下 eclipse 开发 hdfs程序样例 环境: 基于以下环境配置好后. [0008] Windows 7 下 hadoop 2.6.4 eclipse 本地开发调试配置 1. 新建HDFS下载文件类 在已有mapreduce项目中新建类添加如下代码,代码从[0007]中取出小修改 功能:从hdfs下载文件到windows本地 package hadoop.hdfs; import java.io.F

[0011] windows 下 eclipse 开发 hdfs程序样例 (三)

目的: 学习windows 开发hadoop程序的配置. [0007] windows 下 eclipse 开发 hdfs程序样例 太麻烦 [0010] windows 下 eclipse 开发 hdfs程序样例 (二) 输出日志变化,而且配置似乎很麻烦. 环境: windows 7 64下 eclipse 说明: 该实践是在[0008] Windows 7 下 hadoop 2.6.4 eclipse 本地开发调试配置 中设置后进行的, 在这里面进行了一些环境变量设置.插件安装. 如果按照以下

Eclipse开发JavaWeb程序报Server Tomcat v7.0 at localhost was unable to start

出处:http://www.javaweb1024.com/info/582.jspx 原因重现: Eclipse开发JavaWeb程序,启动Servers的Tomcat服务器,突然跳出弹出框,内容显示为: Server Tomcat v7.0 at localhost was unable to start within 10 seconds. If the server requires more time, try increasing the timeout in the server

如何解决Eclipse开发android程序的编译错误:com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0?

近日,升级了android的开发工具,发现它在Eclipse上运行程序的时候报如下的错误: Errors occurred during the build.   Errors running builder 'Android Package Builder' on project 'EX04_03'.   com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0 原因:个人电脑上装的JDK是1.7 解决办法

4、使用Eclipse开发java程序

Eclipse是集成开发环境(IDE),也就是辅助开发的软件,本身开源,可直接去官网下载,注意版本 下载地址:http://www.eclipse.org/downloads/ 下载解压缩即可使用,不用安装 基本开发过程(之后根据项目记录具体使用方法): 第一步:创建JAVA项目 第二步:创建程序包 第三步:编写java源程序 第四步:运行java程序 使用Eclipse写Java程序有不少的快捷键以及错误识别功能,可以很有效的提高开发效率. MyEclipse也是一款开发软件,提供比eclip