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操作Api和Java操作Hbase相關ApiAPIJava
- 用JAVA的API操作HBASEJavaAPI
- Hbase篇--Hbase和MapReduce結合ApiAPI
- HBase的JAVA API操作詳解JavaAPI
- HBase 學習之一 <<HBase使用客戶端API動態建立Hbase資料表並在Hbase下匯出執行>>客戶端API
- NoSQL之HBaseSQL
- hbase之 Hbase shell 常用命令
- php使用hbasePHP
- iOS之runtime詳解api(三)iOSAPI
- 《HBase 不睡覺》第三章 – HBase 基本操作
- 《HBase 不睡覺》第三章 - HBase 基本操作
- HBase學習之Hbase的邏輯結構和物理結構
- hbase與phoenix整合(使用phoenix操作hbase資料)
- Hbase split的三種方式和split的過程
- Laravel——Api認證之Passport使用LaravelAPIPassport
- 用java的api將資料從HDFS上存到HBASE中JavaAPI
- HBase協處理器載入的三種方式
- 利用Java的API實現HBase資料庫的增刪查改JavaAPI資料庫
- Postman之API測試使用全指南PostmanAPI
- API測試之Postman使用全指南APIPostman
- ArcGIS API for Silverlight 之ElementLayer使用及TextSymbol的模板使用APISymbol
- API的使用(3)Arrays 類,Math類,三大特性--繼承API繼承
- 三大例項帶你搞定 Prometheus API 使用PrometheusAPI
- hadoop hive hbase 入門學習 (三)HadoopHive
- JDK6.0的新特性之四:使用Compiler APIJDKCompileAPI
- .Net Api 之如何使用Elasticsearch儲存文件APIElasticsearch
- Android開發之那些好用的資料結構與API(三)Android資料結構API
- 三分鐘搞定nodejs基礎API之PathNodeJSAPI
- spring-hadoop之操作hbaseSpringHadoop
- Hadoop 學習之-HBase安裝Hadoop
- Web API美狐萌顏sdk 的使用分為三個流程WebAPI
- Hbase原理的介紹和使用場景分析
- HBase的安裝配置和使用Java連線Java
- 使用Express開發小說API介面服務1.0(三)ExpressAPI
- HBASE-使用問題-split region
- HBase建模、使用以及優化優化
- HBase 過濾器使用總結過濾器