HBase (三)之 API的使用
1.新增依賴
新建maven專案。並新增依賴
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>1.2.0</version>
</dependency>
2.Hbase核心API
2.1 獲取Configuration物件
Connection代表對叢集的連線物件,封裝了與實際伺服器的低階別單獨連線以及與zookeeper的連線。
Connection可以通過ConnectionFactory類例項化。
Connection的生命週期由呼叫者管理,使用完畢後需要執行close()以釋放資源。
Connection是執行緒安全的,多個Table和Admin可以共用同一個Connection物件。因此一個客戶端只需要例項化一個連線即可。
反之,Table和Admin不是執行緒安全的!因此不建議並快取或池化這兩種物件。
public static Configuration getConf(){
//使用HBaseConfiguration的單例方法例項化
Configuration conf= HBaseConfiguration.create();
conf.addResource(new Path("/opt/hbase/conf/hbase-site.xml"));
conf.addResource(new Path("/opt/hadoop/etc/hadoop/core-site.xml"));
return conf;
}
2.2 建立表
Admin為HBase的管理類,可以通過Connection.getAdmin()獲取例項,且在使用完成後呼叫close()關閉。
Admin可用於建立,刪除,列出,啟用和禁用以及以其他方式修改表,以及執行其他管理操作。
package cnkgc.hb09;
import cnkgc.hb09.until.HBaseConfs;
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 java.io.IOException;
public class CreateTable {
public static void main(String[] args){
Admin admin= HBaseConfs.getAdmin();
HTableDescriptor htd=new HTableDescriptor(TableName.valueOf(args[0]));
for (int i = 0; i < args.length; i++) {
HColumnDescriptor family=new HColumnDescriptor(args[i]);
htd.addFamily(family);
}
try {
admin.createTable(htd);
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
admin.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
2.3插入資料
package cnkgc.hb09;
import cnkgc.hb09.until.HBaseConfs;
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.Put;
import org.apache.hadoop.hbase.client.Table;
import java.io.IOException;
public class insertTable {
public static void main(String[] args) throws IOException {
Connection conn= HBaseConfs.getConn();
Admin admin=HBaseConfs.getAdmin();
TableName[] tableNames = admin.listTableNames();
for (TableName tableName : tableNames) {
System.out.println(tableName.getNameAsString());
}
Table table=conn.getTable(TableName.valueOf("hello"));
String[][] values={
{"1","唐納德","tlp","1st White House","WDC"},
{"2","鮑里斯","約翰遜","10th 唐寧街","London"},
{"3","jp","習","111th 中南海","Beijing"},
{"4","sp","金","地下核基地","PingRing"}
};
for (int i = 0; i < values.length; i++) {
Put put=new Put(values[i][0].getBytes());
put.addColumn("name".getBytes(),"fname".getBytes(),values[i][1].getBytes());
put.addColumn("name".getBytes(),"lname".getBytes(),values[i][2].getBytes());
put.addColumn("addr".getBytes(),"address".getBytes(),values[i][3].getBytes());
put.addColumn("addr".getBytes(),"city".getBytes(),values[i][4].getBytes());
table.put(put);
}
admin.close();
conn.close();
}
}
2.4打jar包並使用
首先測試建立表,將其打為jar包
將打好的jar包上傳到伺服器
使用jar包
hadoop jar jar包路徑 jar包main方法路徑 變數值
相關文章
- hbase 2.0.2 java api的簡單使用JavaAPI
- hbase之hbase shell
- HBase學習的第四天--HBase的進階與APIAPI
- php使用hbasePHP
- iOS之runtime詳解api(三)iOSAPI
- HBase學習之Hbase的邏輯結構和物理結構
- 《HBase 不睡覺》第三章 – HBase 基本操作
- 《HBase 不睡覺》第三章 - HBase 基本操作
- hbase與phoenix整合(使用phoenix操作hbase資料)
- Hbase split的三種方式和split的過程
- hbase統計表的行數的三種方法
- 利用Java的API實現HBase資料庫的增刪查改JavaAPI資料庫
- HBase協處理器載入的三種方式
- API測試之Postman使用全指南APIPostman
- Postman之API測試使用全指南PostmanAPI
- API的使用(3)Arrays 類,Math類,三大特性--繼承API繼承
- 三分鐘搞定nodejs基礎API之PathNodeJSAPI
- 三大例項帶你搞定 Prometheus API 使用PrometheusAPI
- Hbase原理的介紹和使用場景分析
- Hadoop叢集中Hbase的介紹、安裝、使用Hadoop
- .Net Api 之如何使用Elasticsearch儲存文件APIElasticsearch
- HBase建模、使用以及優化優化
- 使用 Ansible 快速部署 HBase 叢集
- HBASE-使用問題-split region
- Web API美狐萌顏sdk 的使用分為三個流程WebAPI
- 使用SAP open connector呼叫第三方系統的APIAPI
- HBase Filter 過濾器之 ValueFilter 詳解Filter過濾器
- Hadoop大資料平臺之HBase部署Hadoop大資料
- kubernetes之使用http rest api訪問叢集HTTPRESTAPI
- Hbase(二)Hbase常用操作
- 編寫具有描述性的 RESTful API (三): 使用者行為RESTAPI
- ASP.NET Core Web Api之JWT重新整理Token(三)ASP.NETWebAPIJWT
- Hadoop httpfs API的使用HadoopHTTPAPI
- socket基本的API使用API
- 使用Express開發小說API介面服務1.0(三)ExpressAPI
- MongoDB 入門教程系列之三:使用 Restful API 操作 MongoDBMongoDBRESTAPI
- hbase - [04] java訪問hbaseJava
- HBase 教程:什麼是 HBase?