尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

软件工程学习日志2025.9.18

软件工程学习日志2025.9.18
📅 发布时间:2026/6/19 20:23:24

今日重点设计了HBase后端数据插入模块,基于Java API实现了高性能的写入方案。以下为关键代码实现及技术要点:
HBase数据插入工具类
支持单条插入和批量写入操作
public class HBaseInserter {
private static final Logger logger = LoggerFactory.getLogger(HBaseInserter.class);

/*** 单条数据插入方法* @param tableName 表名* @param rowKey 行键* @param columnFamily 列族* @param qualifier 列限定符* @param value 数据值*/
public void insertData(String tableName, String rowKey, String columnFamily, String qualifier, String value) throws IOException {try (Connection connection = ConnectionFactory.createConnection();Table table = connection.getTable(TableName.valueOf(tableName))) {Put put = new Put(Bytes.toBytes(rowKey));put.addColumn(Bytes.toBytes(columnFamily),Bytes.toBytes(qualifier),Bytes.toBytes(value));table.put(put);logger.info("数据插入成功 - RowKey: {}", rowKey);} catch (IOException e) {logger.error("HBase插入失败: {}", e.getMessage());throw new IOException("数据写入HBase失败", e);}
}/*** 批量插入数据* @param tableName 表名* @param dataList 数据列表*/
public void batchInsert(String tableName, List<HBaseData> dataList) throws IOException {try (Connection connection = ConnectionFactory.createConnection();Table table = connection.getTable(TableName.valueOf(tableName))) {List<Put> puts = new ArrayList<>();for (HBaseData data : dataList) {Put put = new Put(Bytes.toBytes(data.getRowKey()));put.addColumn(Bytes.toBytes(data.getColumnFamily()),Bytes.toBytes(data.getQualifier()),Bytes.toBytes(data.getValue()));puts.add(put);}table.put(puts);logger.info("批量插入完成,共{}条数据", dataList.size());} catch (IOException e) {logger.error("批量插入失败: {}", e.getMessage());throw new IOException("批量写入HBase失败", e);}
}

}

/**

  • 数据实体类
    */
    @Data
    @AllArgsConstructor
    class HBaseData {
    private String rowKey;
    private String columnFamily;
    private String qualifier;
    private String value;
    }

相关新闻

  • https://uupdump.net/
  • 初赛知识点复盘
  • Segment Analytics-iOS SDK - 专业用户行为追踪解决方案

最新新闻

  • 2026苏州冰箱维修实测:不制冷、结霜、噪音大故障排查+价格参考 - 一步到家
  • 5分钟上手reveal.js-plugins:初学者必备的快速入门指南
  • 3步掌握Media Downloader:一站式媒体下载工具的终极解决方案
  • 深度探索Crawl4AI:实战异步网页爬取与智能内容提取指南
  • 公认的谢氏来源
  • Trip.js主题定制指南:5种内置主题与自定义方法

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号