hbase Java Api 操作

来源:互联网 发布:qinq端口 编辑:程序博客网 时间:2024/04/29 06:24

hbase的java api操作:

hbase里面 已经存在表users:


java的操作:亲测有效

package hbase;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.MasterNotRunningException;import org.apache.hadoop.hbase.ZooKeeperConnectionException;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.Result;import org.apache.hadoop.hbase.client.ResultScanner;import org.apache.hadoop.hbase.client.Scan;public class testHbase {/** * @hbase 到入的包就是hbase的lib下面的所有jar包 *  */private static final String table_name = "table1";private static final String family_name = "family1";//private static final String row_key = "row1";//hbase里面已经存在的表 这里只是用于测试使用private static final String table = "users";private static final String column = "info";private static final String row = "xd";public static void main(String[] args) throws MasterNotRunningException, ZooKeeperConnectionException, IOException {// TODO Auto-generated method stubConfiguration conf = HBaseConfiguration.create();//配置conf.set("hbase.rootdir", "hdfs://localhost:9000/hbase");conf.set("hbase.zookeeper.quorum","localhost");final HBaseAdmin hbaseAdmin = new HBaseAdmin(conf);//createTable(hbaseAdmin);  //创建表//deleteTable(hbaseAdmin); //删除表HTable htable = new HTable(conf,table);//getRecord(htable); 获取记录scanTable(htable); //扫描表}private static void scanTable(HTable htable) throws IOException {Scan scan = new Scan();final ResultScanner scanner = htable.getScanner(scan);for(Result result : scanner){final byte[] value = result.getValue(column.getBytes(), "age".getBytes());System.out.println(result+"\t"+new String(value));}}@SuppressWarnings("unused")private static void getRecord(HTable htable) throws IOException {Get get = new Get(row.getBytes());final Result result = htable.get(get);final byte[] value = result.getValue(column.getBytes(), "age".getBytes());System.out.println(result+"\t"+new String(value));}//@SuppressWarnings("unused")private static void deleteTable(final HBaseAdmin hbaseAdmin)throws IOException {hbaseAdmin.disableTable(table_name);hbaseAdmin.deleteTable(table_name);}@SuppressWarnings({ "deprecation", "unused" })private static void createTable(final HBaseAdmin hbaseAdmin)throws IOException {if(!hbaseAdmin.tableExists(table_name)){HTableDescriptor tableDescriptor = new HTableDescriptor(table_name);HColumnDescriptor family = new HColumnDescriptor(family_name);tableDescriptor.addFamily(family);hbaseAdmin.createTable(tableDescriptor);}}}

在eclipse里面显示的结果如下:

14/12/11 18:41:04 INFO zookeeper.RecoverableZooKeeper: Process identifier=hconnection-0xf3cbe6 connecting to ZooKeeper ensemble=localhost:218114/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT14/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:host.name=localhost14/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:java.version=1.7.0_6014/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:java.vendor=Oracle Corporation14/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:java.home=/usr/java/jdk/jre14/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:java.class.path=/home/hadoop/workspace/hbase/bin:/usr/hadoop/lib/commons-logging-1.1.1.jar:/usr/hadoop/lib/junit-4.5.jar:/usr/hadoop/lib/slf4j-log4j12-1.4.3.jar:/usr/hadoop/lib/commons-digester-1.8.jar:/usr/hadoop/lib/asm-3.2.jar:/usr/hadoop/lib/aspectjtools-1.6.11.jar:/usr/hadoop/lib/jasper-runtime-5.5.12.jar:/usr/hadoop/lib/hadoop-thriftfs-1.2.1.jar:/usr/hadoop/lib/jsch-0.1.42.jar:/usr/hadoop/lib/commons-cli-1.2.jar:/usr/hadoop/lib/jasper-compiler-5.5.12.jar:/usr/hadoop/lib/xmlenc-0.52.jar:/usr/hadoop/lib/commons-collections-3.2.1.jar:/usr/hadoop/lib/jersey-core-1.8.jar:/usr/hadoop/lib/commons-beanutils-core-1.8.0.jar:/usr/hadoop/lib/kfs-0.2.2.jar:/usr/hadoop/lib/commons-el-1.0.jar:/usr/hadoop/lib/hsqldb-1.8.0.10.jar:/usr/hadoop/lib/jersey-server-1.8.jar:/usr/hadoop/lib/core-3.1.1.jar:/usr/hadoop/lib/oro-2.0.8.jar:/usr/hadoop/lib/commons-configuration-1.6.jar:/usr/hadoop/lib/commons-math-2.1.jar:/usr/hadoop/lib/servlet-api-2.5-20081211.jar:/usr/hadoop/lib/commons-daemon-1.0.1.jar:/usr/hadoop/lib/jersey-json-1.8.jar:/usr/hadoop/lib/mockito-all-1.8.5.jar:/usr/hadoop/lib/slf4j-api-1.4.3.jar:/usr/hadoop/lib/commons-io-2.1.jar:/usr/hadoop/lib/hadoop-capacity-scheduler-1.2.1.jar:/usr/hadoop/lib/jackson-core-asl-1.8.8.jar:/usr/hadoop/lib/jetty-6.1.26.jar:/usr/hadoop/lib/commons-net-3.1.jar:/usr/hadoop/lib/jackson-mapper-asl-1.8.8.jar:/usr/hadoop/lib/commons-logging-api-1.0.4.jar:/usr/hadoop/lib/aspectjrt-1.6.11.jar:/usr/hadoop/lib/jets3t-0.6.1.jar:/usr/hadoop/lib/jdeb-0.8.jar:/usr/hadoop/lib/commons-httpclient-3.0.1.jar:/usr/hadoop/lib/hadoop-fairscheduler-1.2.1.jar:/usr/hadoop/lib/log4j-1.2.15.jar:/usr/hadoop/lib/sqoop-1.4.5.jar:/usr/hadoop/lib/commons-codec-1.4.jar:/usr/hadoop/lib/commons-lang-2.4.jar:/usr/hadoop/lib/commons-beanutils-1.7.0.jar:/usr/hadoop/lib/jetty-util-6.1.26.jar:/usr/hadoop/hadoop-core-1.2.1.jar:/usr/hadoop/hadoop-tools-1.2.1.jar:/usr/hadoop/hadoop-minicluster-1.2.1.jar:/usr/hadoop/hadoop-client-1.2.1.jar:/usr/hadoop/hadoop-ant-1.2.1.jar:/usr/hbase/lib/activation-1.1.jar:/usr/hbase/lib/asm-3.1.jar:/usr/hbase/lib/commons-beanutils-1.7.0.jar:/usr/hbase/lib/commons-beanutils-core-1.8.0.jar:/usr/hbase/lib/commons-cli-1.2.jar:/usr/hbase/lib/commons-codec-1.7.jar:/usr/hbase/lib/commons-collections-3.2.1.jar:/usr/hbase/lib/commons-configuration-1.6.jar:/usr/hbase/lib/commons-digester-1.8.jar:/usr/hbase/lib/commons-el-1.0.jar:/usr/hbase/lib/commons-httpclient-3.1.jar:/usr/hbase/lib/commons-io-2.4.jar:/usr/hbase/lib/commons-lang-2.6.jar:/usr/hbase/lib/commons-logging-1.1.1.jar:/usr/hbase/lib/commons-math-2.1.jar:/usr/hbase/lib/commons-net-1.4.1.jar:/usr/hbase/lib/findbugs-annotations-1.3.9-1.jar:/usr/hbase/lib/guava-12.0.1.jar:/usr/hbase/lib/hadoop-core-1.2.1.jar:/usr/hbase/lib/hamcrest-core-1.3.jar:/usr/hbase/lib/hbase-annotations-0.98.8-hadoop1.jar:/usr/hbase/lib/hbase-checkstyle-0.98.8-hadoop1.jar:/usr/hbase/lib/hbase-client-0.98.8-hadoop1.jar:/usr/hbase/lib/hbase-common-0.98.8-hadoop1.jar:/usr/hbase/lib/hbase-common-0.98.8-hadoop1-tests.jar:/usr/hbase/lib/hbase-examples-0.98.8-hadoop1.jar:/usr/hbase/lib/hbase-hadoop1-compat-0.98.8-hadoop1.jar:/usr/hbase/lib/hbase-hadoop-compat-0.98.8-hadoop1.jar:/usr/hbase/lib/hbase-it-0.98.8-hadoop1.jar:/usr/hbase/lib/hbase-it-0.98.8-hadoop1-tests.jar:/usr/hbase/lib/hbase-prefix-tree-0.98.8-hadoop1.jar:/usr/hbase/lib/hbase-protocol-0.98.8-hadoop1.jar:/usr/hbase/lib/hbase-rest-0.98.8-hadoop1.jar:/usr/hbase/lib/hbase-server-0.98.8-hadoop1.jar:/usr/hbase/lib/hbase-server-0.98.8-hadoop1-tests.jar:/usr/hbase/lib/hbase-shell-0.98.8-hadoop1.jar:/usr/hbase/lib/hbase-testing-util-0.98.8-hadoop1.jar:/usr/hbase/lib/hbase-thrift-0.98.8-hadoop1.jar:/usr/hbase/lib/high-scale-lib-1.1.1.jar:/usr/hbase/lib/htrace-core-2.04.jar:/usr/hbase/lib/httpclient-4.1.3.jar:/usr/hbase/lib/httpcore-4.1.3.jar:/usr/hbase/lib/jackson-core-asl-1.8.8.jar:/usr/hbase/lib/jackson-jaxrs-1.8.8.jar:/usr/hbase/lib/jackson-mapper-asl-1.8.8.jar:/usr/hbase/lib/jackson-xc-1.8.8.jar:/usr/hbase/lib/jamon-runtime-2.3.1.jar:/usr/hbase/lib/jasper-compiler-5.5.23.jar:/usr/hbase/lib/jasper-runtime-5.5.23.jar:/usr/hbase/lib/jaxb-api-2.2.2.jar:/usr/hbase/lib/jaxb-impl-2.2.3-1.jar:/usr/hbase/lib/jcodings-1.0.8.jar:/usr/hbase/lib/jersey-core-1.8.jar:/usr/hbase/lib/jersey-json-1.8.jar:/usr/hbase/lib/jersey-server-1.8.jar:/usr/hbase/lib/jettison-1.3.1.jar:/usr/hbase/lib/jetty-6.1.26.jar:/usr/hbase/lib/jetty-sslengine-6.1.26.jar:/usr/hbase/lib/jetty-util-6.1.26.jar:/usr/hbase/lib/joni-2.1.2.jar:/usr/hbase/lib/jruby-complete-1.6.8.jar:/usr/hbase/lib/jsp-2.1-6.1.14.jar:/usr/hbase/lib/jsp-api-2.1-6.1.14.jar:/usr/hbase/lib/jsr305-1.3.9.jar:/usr/hbase/lib/junit-4.11.jar:/usr/hbase/lib/libthrift-0.9.0.jar:/usr/hbase/lib/log4j-1.2.17.jar:/usr/hbase/lib/metrics-core-2.2.0.jar:/usr/hbase/lib/netty-3.6.6.Final.jar:/usr/hbase/lib/protobuf-java-2.5.0.jar:/usr/hbase/lib/servlet-api-2.5-6.1.14.jar:/usr/hbase/lib/slf4j-api-1.6.4.jar:/usr/hbase/lib/slf4j-log4j12-1.6.4.jar:/usr/hbase/lib/xmlenc-0.52.jar:/usr/hbase/lib/zookeeper-3.4.6.jar14/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:java.library.path=/usr/java/jdk/jre/lib/i386/server:/usr/java/jdk/jre/lib/i386:/usr/java/jdk/jre/../lib/i386:/usr/java/jdk/jre/lib/i386/client::/usr/java/jdk/jre/lib/i386:::/usr/java/packages/lib/i386:/lib:/usr/lib14/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:java.io.tmpdir=/tmp14/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:java.compiler=<NA>14/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:os.name=Linux14/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:os.arch=i38614/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:os.version=3.2.0-23-generic-pae14/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:user.name=hadoop14/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:user.home=/home/hadoop14/12/11 18:41:05 INFO zookeeper.ZooKeeper: Client environment:user.dir=/home/hadoop/workspace/hbase14/12/11 18:41:05 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=localhost:2181 sessionTimeout=90000 watcher=hconnection-0xf3cbe6, quorum=localhost:2181, baseZNode=/hbase14/12/11 18:41:05 INFO zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)14/12/11 18:41:05 INFO zookeeper.ClientCnxn: Socket connection established to localhost/127.0.0.1:2181, initiating session14/12/11 18:41:05 INFO zookeeper.ClientCnxn: Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x14a3837597d0016, negotiated timeout = 90000


结果:

keyvalues={xd/info:age/1418285695388/Put/vlen=2/mvcc=0}21
keyvalues={xiaoming/info:age/1416885995154/Put/vlen=2/mvcc=0}26

0 0
原创粉丝点击