「java原生api」java原生app打包教程

博主:adminadmin 2023-01-01 15:30:06 1286

本篇文章给大家谈谈java原生api,以及java原生app打包教程对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何使用Java API操作Hbase

 一般情况下,我们使用Linux的shell命令,就可以非常轻松的操作Hbase,例如一些建表,建列簇,插值,显示所有表,统计数量等等,但有时为了提高灵活性,我们也需要使用编程语言来操作Hbase,当然Hbase通过Thrift接口提供了对大多数主流编程语言的支持,例如C++,PHP,Python,Ruby等等,那么本篇,散仙给出的例子是基于Java原生的API操作Hbase,相比其他的一些编程语言,使用Java操作Hbase,会更加高效一些,因为Hbase本身就是使用Java语言编写的。转载

下面,散仙给出源码,以供参考:

package com.hbase;

import java.util.ArrayList;

import java.util.List;

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

import org.apache.hadoop.hbase.client.Delete;

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;

/**

* @author 三劫散仙

*

* **/

public class Test {

static Configuration conf=null;

static{

conf=HBaseConfiguration.create();//hbase的配置信息

conf.set("hbase.zookeeper.quorum", "10.2.143.5"); //zookeeper的地址

}

public static void main(String[] args)throws Exception {

Test t=new Test();

//t.createTable("temp", new String[]{"name","age"});

//t.insertRow("temp", "2", "age", "myage", "100");

// t.getOneDataByRowKey("temp", "2");

t.showAll("temp");

}

/***

* 创建一张表

* 并指定列簇

* */

public void createTable(String tableName,String cols[])throws Exception{

HBaseAdmin admin=new HBaseAdmin(conf);//客户端管理工具类

if(admin.tableExists(tableName)){

System.out.println("此表已经存在.......");

}else{

HTableDescriptor table=new HTableDescriptor(tableName);

for(String c:cols){

HColumnDescriptor col=new HColumnDescriptor(c);//列簇名

table.addFamily(col);//添加到此表中

}

admin.createTable(table);//创建一个表

admin.close();

System.out.println("创建表成功!");

}

}

/**

* 添加数据,

* 建议使用批量添加

* @param tableName 表名

* @param row 行号

* @param columnFamily 列簇

* @param column 列

* @param value 具体的值

*

* **/

public void insertRow(String tableName, String row,

String columnFamily, String column, String value) throws Exception {

HTable table = new HTable(conf, tableName);

Put put = new Put(Bytes.toBytes(row));

// 参数出分别:列族、列、值

put.add(Bytes.toBytes(columnFamily), Bytes.toBytes(column),

Bytes.toBytes(value));

table.put(put);

table.close();//关闭

System.out.println("插入一条数据成功!");

}

/**

* 删除一条数据

* @param tableName 表名

* @param row rowkey

* **/

public void deleteByRow(String tableName,String rowkey)throws Exception{

HTable h=new HTable(conf, tableName);

Delete d=new Delete(Bytes.toBytes(rowkey));

h.delete(d);//删除一条数据

h.close();

}

/**

* 删除多条数据

* @param tableName 表名

* @param row rowkey

* **/

public void deleteByRow(String tableName,String rowkey[])throws Exception{

HTable h=new HTable(conf, tableName);

ListDelete list=new ArrayListDelete();

for(String k:rowkey){

Delete d=new Delete(Bytes.toBytes(k));

list.add(d);

}

h.delete(list);//删除

h.close();//释放资源

}

/**

* 得到一条数据

*

* @param tableName 表名

* @param rowkey 行号

* ***/

public void getOneDataByRowKey(String tableName,String rowkey)throws Exception{

HTable h=new HTable(conf, tableName);

Get g=new Get(Bytes.toBytes(rowkey));

Result r=h.get(g);

for(KeyValue k:r.raw()){

System.out.println("行号: "+Bytes.toStringBinary(k.getRow()));

System.out.println("时间戳: "+k.getTimestamp());

System.out.println("列簇: "+Bytes.toStringBinary(k.getFamily()));

System.out.println("列: "+Bytes.toStringBinary(k.getQualifier()));

//if(Bytes.toStringBinary(k.getQualifier()).equals("myage")){

// System.out.println("值: "+Bytes.toInt(k.getValue()));

//}else{

String ss= Bytes.toString(k.getValue());

System.out.println("值: "+ss);

//}

}

h.close();

}

/**

* 扫描所有数据或特定数据

* @param tableName

* **/

public void showAll(String tableName)throws Exception{

HTable h=new HTable(conf, tableName);

Scan scan=new Scan();

//扫描特定区间

//Scan scan=new Scan(Bytes.toBytes("开始行号"),Bytes.toBytes("结束行号"));

ResultScanner scanner=h.getScanner(scan);

for(Result r:scanner){

System.out.println("==================================");

for(KeyValue k:r.raw()){

System.out.println("行号: "+Bytes.toStringBinary(k.getRow()));

System.out.println("时间戳: "+k.getTimestamp());

System.out.println("列簇: "+Bytes.toStringBinary(k.getFamily()));

System.out.println("列: "+Bytes.toStringBinary(k.getQualifier()));

//if(Bytes.toStringBinary(k.getQualifier()).equals("myage")){

// System.out.println("值: "+Bytes.toInt(k.getValue()));

//}else{

String ss= Bytes.toString(k.getValue());

System.out.println("值: "+ss);

//}

}

}

h.close();

}

}

显示所有数据的打印输出如下:

==================================

行号: 1

时间戳: 1385597699287

列簇: name

列: myname

值: 秦东亮

==================================

行号: 2

时间戳: 1385598393306

列簇: age

列: myage

值: 100

行号: 2

时间戳: 1385597723900

列簇: name

列: myname

值: 三劫散仙

由此,可以看出Hbase的对外的API提供接口,是非常简单易用的。

java api指的是什么 ?什么意思?

API=Java Application Interface。 就是指那套基本类库。

没有那套库,没有这套编程接口,你编写应用程序将不是一般地困难。

作为Sun开发的Java程序,用于Java编程人员使用的程序接口,并不是说使用Java和接口有关,而是表示Java所提供的现成的类库,供编程人员使用。这与 Win32 中的 dll 文件有点像,封装了好多函数,只暴露也函数名、参数等信息,不提供具体实体,暴露出来的这些就称为API了。也就是说 Java 也是封装了好多的方法,提供了些方法名和参数等信息,便于别人使用啊。由于Java是开源的,还可是看到类库中方法的具体实现。

*这个文档是让你查看那些你要或者将要使用的类的定义,属性,方法集,还有相关参数的说明,以及一些例子,

也就是说如果你忘记或不知道某个类的用法,可以查这个参考书,但是如果程序出错,如果不是类使用错误,这个文档基本上帮不上忙的。

如果程序出错是类使用的错误,信息应该会指示哪行出错,你可以查看这行使用的类的方法或属性和jdk documentation文档描述是否一致。

什么java中的API??

我觉得这里综合回答的很好,不妨看一下

下面回答下你的问题:

什么java中的API??把功能封装在一个方法中,那个方法就叫做API??是不是这个意思??

java中的api是java自己提供的标准库,也就是API程序编程接口。

假如,equals,我直接调用它来对比,这个叫做调用API还是调用方法??

两种说法都对,可以叫做调用API也可以叫做调用方法。但是,编程的时候你有可能会实现你自己需要的方法,比如makePhoneCall()方法,这个方法不存在于java api库中,这个时候如果你要调用makePhoneCall(), 你只能说调用了这个方法,不推荐说调用了这个API。一般说调用API都是会被很多人所使用,经过时间考验的标准库或者第三方库。

关于java原生api和java原生app打包教程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。