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
- Hbase單機部署 java連線HbaseJava
- Java訪問類變數Java變數
- Java的訪問修飾符Java
- Java如何實現延時訪問Java
- Java 訪問許可權控制(6)Java訪問許可權
- Windows原理深入學習系列-訪問控制列表Windows
- 【趣味設計模式系列】之【訪問者模式】設計模式
- JAVA訪問雲資料mysql出現問題JavaMySql
- Hbase問題小結(一)
- JAVA系列:HashMap常見問題JavaHashMap
- Mac部署hadoop3(偽分散式)MacHadoop分散式
- Linux下Java剪貼簿的訪問LinuxJava
- Java訪問SSL enabled DB2 DatabaseJavaDB2Database
- Oracle RAC Cache Fusion 系列十三:PCM資源訪問Oracle
- 《Tomcat與Java Web開發技術詳解》閱讀梳理 第八章 訪問資料庫TomcatJavaWeb資料庫
- PostgreSQL-訪問策略配置檔案pg_hba.conf檔案(八)SQL
- HBASE-使用問題-split region
- java基礎(七) java四種訪問許可權深入解析Java訪問許可權
- Java通過SSLEngine與NIO實現HTTPS訪問JavaHTTP
- 15.java設計模式之訪問者模式Java設計模式
- Java訪問資料庫的具體步驟:Java資料庫
- Hadoop大資料實戰系列文章之HBaseHadoop大資料
- Gitlab怎麼使用訪問令牌訪問Gitlab
- 訪問統計(排除爬蟲訪問)爬蟲
- hbase 2.0.2 java api的簡單使用JavaAPI
- OpenvSwitch系列之八 vxlan隧道
- 關於Java異常最常見的八大問題Java
- MongoDB 入門教程系列之一:開發環境搭建以及 Node.js 和 Java 的讀寫訪問MongoDB開發環境Node.jsJava
- 軟體設計模式系列之二十五——訪問者模式設計模式
- 【Gin-API系列】Gin中介軟體之鑑權訪問(五)API
- Java安全漏洞:Druid未授權訪問解決JavaUI
- java類成員中的訪問級別有哪些Java
- [java IO流]之 隨機訪問檔案(RandomAccessFile類)Java隨機randomMac
- Java JDK11基於巢狀的訪問控制JavaJDK巢狀