Hadoop3系列——(八)Java訪問Hbase
pom檔案
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-server</artifactId>
<version>2.2.6</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>3.1.4</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-auth</artifactId>
<version>3.1.2</version>
</dependency>
建立表:
public static void createTable(){
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum","node1,node2,node3");
try {
//建立連線
Connection conn = ConnectionFactory.createConnection(conf);
Admin admin = conn.getAdmin();
//新增表描述
HTableDescriptor tableDes = new HTableDescriptor(TableName.valueOf("test11"));
//新增族列
HColumnDescriptor colDesc = new HColumnDescriptor("cf1");
tableDes.addFamily(colDesc);//把族列新增到表
admin.createTable(tableDes);//建立表
} catch (Exception e) {
e.printStackTrace();
}
}
插入資料(修改也是用該方法):
public static void addData(){
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum","node1,node2,node3");
try {
//建立連線
Connection conn = ConnectionFactory.createConnection(conf);
//連線表
Table table = conn.getTable(TableName.valueOf("test11"));
//設定Row Key
Put put = new Put("110".getBytes());
//設定列族名cf1,列名name,列值
put.addColumn("cf1".getBytes(),"name".getBytes(),"aaaa".getBytes());
table.put(put);
} catch (Exception e) {
e.printStackTrace();
}
}
查詢資料:
查詢指定cell的資料
//獲取指定cell資料
public static void getData(){
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum","node1,node2,node3");
try {
//建立連線
Connection conn = ConnectionFactory.createConnection(conf);
//連線表
Table table = conn.getTable(TableName.valueOf("test11"));
//通過Row Key獲取指定行
Get get = new Get("110".getBytes());
Result rs = table.get(get);
//通過行指定列,獲取cell
Cell cell = rs.getColumnLatestCell("cf1".getBytes(),"name".getBytes());
System.out.println(new String(CellUtil.cloneRow(cell),"utf-8"));
System.out.println(new String(CellUtil.cloneValue(cell),"utf-8"));
} catch (Exception e) {
e.printStackTrace();
}
}
查詢指定表的全部資料
//獲取指定表的所有資料
public static void getDataByScan(){
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum","node1,node2,node3");
try {
//建立連線
Connection conn = ConnectionFactory.createConnection(conf);
//連線表
Table table = conn.getTable(TableName.valueOf("test11"));
Scan scan = new Scan();
//獲取遍歷查詢的結果
ResultScanner resultScanner = table.getScanner(scan);
//對結果集進行迭代
Iterator its = resultScanner.iterator();
while (its.hasNext()){
Result rs = (Result) its.next();
//通過行指定列,獲取cell
Cell cell = rs.getColumnLatestCell("cf1".getBytes(),"name".getBytes());
System.out.println(new String(CellUtil.cloneRow(cell),"utf-8"));
System.out.println(new String(CellUtil.cloneValue(cell),"utf-8"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
相關文章
- hbase - [04] java訪問hbaseJava
- java基礎(八)—–深入解析java四種訪問許可權Java訪問許可權
- HBase 系列(五)——HBase常用 Shell 命令
- Java入門系列之訪問修飾符作用範圍Java
- JNI訪問Java方法Java
- 技術問答集錦(八)MyBatis系列MyBatis
- Hbase單機部署 java連線HbaseJava
- HBase篇--HBase操作Api和Java操作Hbase相關ApiAPIJava
- Java訪問類變數Java變數
- Java Socket程式設計系列(四)開發支援多客戶端訪問的ServerJava程式設計客戶端Server
- Think IN JAVA --------JAVA訪問許可權控制Java訪問許可權
- Java的訪問修飾符Java
- java的訪問許可權Java訪問許可權
- Java Socket程式設計系列(三)開發支援單客戶端訪問的ServerJava程式設計客戶端Server
- Java操作hbase總結Java
- 【趣味設計模式系列】之【訪問者模式】設計模式
- Windows原理深入學習系列-訪問控制列表Windows
- Apche日誌系列(1):訪問日誌(轉)
- Java 訪問許可權控制(6)Java訪問許可權
- Java如何實現延時訪問Java
- java 訪問控制符和supper,thisJava
- java程式訪問WEB伺服器?JavaWeb伺服器
- java區分訪問端來源Java
- 八成Java開發者解答不了的問題Java
- 【zz】Java 八榮八恥Java
- JAVA訪問雲資料mysql出現問題JavaMySql
- 用JAVA的API操作HBASEJavaAPI
- JAVA系列:HashMap常見問題JavaHashMap
- Oracle RAC Cache Fusion 系列十三:PCM資源訪問Oracle
- Quidway Eudemon 系列防火牆增加IP訪問UI防火牆
- Struts HOW-TO 系列 之 資料庫訪問 (轉)資料庫
- Mac部署hadoop3(偽分散式)MacHadoop分散式
- Java訪問SSL enabled DB2 DatabaseJavaDB2Database
- JAVA設計模式之訪問者模式Java設計模式
- java RandomAccessFile類(隨機訪問檔案)JavarandomMac隨機
- Java內部類的訪問規則Java
- 利用JNA使Java訪問本地C++JavaC++
- C#設計模式系列:訪問者模式(Visitor)C#設計模式