java: 写入数据到HBase

一、添加依赖

复制代码
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>2.6.0</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>2.4.2</version>
        </dependency>

二、调用API写HBase示例

复制代码
package cn.edu.tju;

import org.apache.commons.io.IOUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.util.Bytes;

public class TestHbaseWrite {
    public static void main(String[] args) throws Exception{
        Configuration config = HBaseConfiguration.create();// create configuration
        //zookeeper 地址
        config.set("hbase.zookeeper.quorum","xxx.xxx.xxx.xxx");//
        //zookeeper端口
        config.set("hbase.zookeeper.property.clientPort", "2181");//
        //表名,必须提前在hbase中创建
        String tableName ="c1";
        //row key
        String rowKey = "myRowKeyTest";
        //family,必须是hbase中有的family
        String familyName = "fam3";
        //column
        String columnName = "age";
        //value
        String columnValue = "18";
        Connection connection = ConnectionFactory.createConnection(config);
        Table table = null;
        try {
            table = connection.getTable(TableName.valueOf(tableName));
            Put put = new Put(Bytes.toBytes(rowKey));
            put.addColumn(familyName.getBytes(), Bytes.toBytes(columnName),Bytes.toBytes(columnValue));
            table.put(put);
        }
        catch(Exception ex) {
            System.out.println(ex.getMessage());
        }
        finally {
            IOUtils.closeQuietly(table);
        }
    }
}
相关推荐
pursue.dreams17 小时前
Windows系统Golang超详细安装配置教程(2026最新、零基础)
开发语言·windows·golang
东方巴黎~Sunsiny17 小时前
后端已经开始使用AI代替前端开发了
java·人工智能·状态模式
小小龙学IT17 小时前
Go 后端并发实战:从 goroutine 到流水线架构
开发语言·架构·golang
marsh020617 小时前
60 openclaw与物联网:连接物理世界的智能应用
开发语言·物联网·青少年编程·php·技术美术
Sam_Deep_Thinking17 小时前
结算分摊的策略模式:不同营销活动的扣点计算方案
java·设计模式·架构·系统架构
我有满天星辰18 小时前
【Dart 语言学习教程 】第三章:函数式编程与高阶特性
开发语言·javascript·ecmascript
wearegogog12318 小时前
基于C#的电机监控上位机(串口通信+实时波形)
开发语言·c#
星栈独行18 小时前
Makepad、egui、Dioxus、Tauri:Rust GUI 到底怎么选
开发语言·后端·程序人生·ui·rust
兰令水18 小时前
leecodecode【回溯组合】【2026.6.5打卡-java版本】
java·开发语言
8Qi818 小时前
LeetCode 518:零钱兑换 II(Coin Change II)—— 题解 ✅
java·算法·leetcode·动态规划·完全背包