大数据实验三-HBase编程实践
目录
一.实验内容
二.实验目的
三.实验过程截图及说明
1、安装HBase
2、配置伪分布式模式:
3、使用hbase的shell命令来操作表:
4、使用hbase提供的javaAPI来编程实现类似操作:
5、实验总结及心得体会
6、完整报告在文章开头,挂载。
一.实验内容
HBase编程实践:
1)在Hadoop基础上安装HBase;
2)使用Shell命令(create:创建表、list:列出HBase中所有的表信息、put:向表、行、列指定的单元格添加数据等);使用HBase常用Java API创建表、插入数据、浏览数据。
二.实验目的
1、理解HBase在Hadoop体系结构中的角色。
2、熟练使用HBase操作常用的Shell命令。
3、熟悉HBase操作常用的JavaAPI。
三.实验过程截图及说明
1、安装HBase
(1)解压HBase文件到/usr/local目录下,并将目录改名为hbase:
![]()
(2)设置访问权限:
![]()
(3)编辑~/.bashrc文件:
vim ~/.bashrc
# 如果没有引入过PATH请在~/.bashrc文件尾行添加如下内容:
export PATH=$PATH:/usr/local/hbase/bin
然后输入source ~/.bashrc使配置立即生效
(4)输入hbase version验证一下:

(5)版本没问题,设置成功。但是发现上图第一个箭头所指处有一个警告,SLF4J警告消息表示类路径中存在多个SLF4J绑定。警告提供了检测到的绑定位置,并告知你只能同时使用一个绑定。可以用(6)(7)两步来解决。
(6)进入HBase配置目录,修改配置:
![]()
(7)将此行的注释去掉:

(8)验证一下,看看hbase的版本,发现警告消失了,配置成功:

2、配置伪分布式模式:
(1)配置hbase-env.sh文件:
![]()

(2)配置hbase-site文件:

(3)测试运行hbase。先要开启Hadoop,再开hbase,开关顺序一定要是(开启Hadoop->开启hbase->关闭hbase->关闭Hadoop):
开Hadoop:

开hbase:

(4)开启hbase的shell命令:

3、使用hbase的shell命令来操作表:
(1)创建表:

(2)list:

(3)使用put命令向某表某行中插入一列:

参数说明: 在student表的行键为95001的行中,插入一个名为Sname的列,并设置其值为YangJile。此处的行键可以代指学生的学号,也可表示为student表添加了学号为95001,名字为YangJile的一行数据,其行键为95001。
hbase中用put命令添加数据,注意:一次只能为一个表的一行数据的一个列,也就是一个单元格添加一个数据,所以直接用shell命令插入数据效率很低,在实际应用中,一般都是利用编程操作数据。

参数说明:在student表的行键为95001的行中,在course列族下存储一个名为math的列,并设置其属性值为80。下同。
![]()
(4)使用get命令查看某表的某行的值:
get命令,用于查看表的某一行数据。

(5)使用scan命令查看表的所有行:
scan命令用于查看某个表的全部数据。

(6)删除表的两步走操作:
先disable,让表不可用,再drop删除表。

4、使用hbase提供的javaAPI来编程实现类似操作:
(1)在com.ecjtu下创建hbase包,再创建一个dataSqlOP.java文件:

(2)导入需要用到的依赖:

(3)编写初始化函数:

(4)编写创建表函数:

(5)编写插入数据函数;

(6)编写获取数据函数:

(7)编写主函数,在主函数中调用各个方法测试运行:

(8)运行结果:

5、实验总结及心得体会
实验总结:
在本实验中,我深入了解了HBase在Hadoop体系结构中的角色,以及其常用的Shell命令和Java API。
(1)首先,我在Hadoop基础上成功安装了HBase,为其后续应用奠定了基础。
(2)在Shell命令方面,我实践了创建表(create)、列出HBase中所有的表信息(list)、向表、行、列指定的单元格添加数据(put)等操作。这些命令帮助我们更好地管理和操作HBase表格,为大数据处理提供了便利。
(3)此外,我还使用了HBase常用的Java API来创建表、插入数据、浏览数据。通过这些API,我实现了对HBase表格的编程操作,进一步提高了数据处理效率。
(4)实验的二个目的是让我熟练掌握HBase的操作,从而在实际应用中能够灵活运用。通过对HBase角色、Shell命令和Java API的学习,我能够更好地应对各种数据处理挑战,为我国大数据领域的发展贡献力量。
(5)总之,本次实验使我受益匪浅,对HBase的认识和操作水平得到了全面提升。在未来的学习和工作中,我将不断探索和实践,为大数据技术的发展贡献自己的力量。
心得体会:
在这次的HBase编程实践中,我深深地理解了HBase在Hadoop体系结构中的角色。HBase是一个分布式的、版本化的典型非关系型数据库,它被设计用来处理海量数据,并提供了随机读写访问数据的能力。在Hadoop的文件系统HDFS之上,HBase提供了实时读写访问数据的能力。
我首先在Hadoop环境下安装了HBase,然后使用Shell命令创建了一个表,并通过list命令列出了HBase中所有的表信息。接着,我使用put命令向表、行、列指定的单元格添加数据。这些操作都是通过HBase的Shell命令完成的,这让我对HBase的操作有了初步的了解。
接下来,我使用了HBase的Java API进行编程。在这个过程中,我深入了解了HBase的内部机制,包括它如何在内部管理数据,以及如何通过Java API进行操作。我也了解了HBase的一些特性,比如它如何支持实时读写,以及它如何通过水平扩展来应对大数据量的存储和处理。
总的来说,这次的HBase编程实践让我收获颇丰。我不仅掌握了HBase的基本操作,而且对HBase的工作原理和特性有了更深的理解。我相信这些知识和经验将对我未来的学习和工作产生积极的影响。
6、完整报告在文章开头,挂载。
相关文章:
大数据实验三-HBase编程实践
目录 一.实验内容 二.实验目的 三.实验过程截图及说明 1、安装HBase 2、配置伪分布式模式: 3、使用hbase的shell命令来操作表: 4、使用hbase提供的javaAPI来编程实现类似操作: 5、实验总结及心得体会…...
【Python】Pillow支持的图像文件格式
完全支持格式只读格式只写格式仅标识格式BLPCURPALMBUFRBMPDCXPDFGRIBDDSFITSXV ThumbnailsHDF5DIBFLCMPEGEPSFPXGIFFTEXICNSGBRICOGDIMIMTJPEGIPTC/NAAJPEG 2000MCIDASMSPMICPCXMPOPNGPCDPPMPIXARSGIPSDSPIDERQOITGASUNTIFFWALwebpWMF、EMFXBMXPM 参考文献 图像文件格式 - P…...
算法——最小生成树
Prim算法: 算法步骤: 1.选择一个起始节点作为最小生成树的起点。 2.将该起始节点加入最小生成树集合,并将其标记为已访问。 3.在所有与最小生成树集合相邻的边中,选择权重最小的边和它连接的未访问节点。 4.将该边和节点加入最小…...
OpenHarmony相机和媒体库-如何在ArkTS中调用相机拍照和录像。
介绍 此Demo展示如何在ArkTS中调用相机拍照和录像,以及如何使用媒体库接口进行媒体文件的增、删、改、查操作。 本示例用到了权限管理能力ohos.abilityAccessCtrl 相机模块能力接口ohos.multimedia.camera 图片处理接口ohos.multimedia.image 音视频相关媒体业…...
【EasyExcel】多sheet、追加列
业务-EasyExcel多sheet、追加列 背景 最近接到一个导出Excel的业务,需求就是多sheet,每个sheet导出不同结构,第一个sheet里面能够根据最后一列动态的追加列,追加多少得看运营人员传了多少需求列。原本使用的 pig4cloud 架子&…...
韩顺平 | 零基础快速学Python
环境准备 开发工具:IDLE、Pycharm、Sublime Text、Eric 、文本编辑器(记事本/editplus/notepad) Python特点:既支持面向过程OOP、也支持面向对象编程;具有解释性,不需要编程二进制代码,可以直…...
docker部署DOS游戏
下载镜像 docker pull registry.cn-beijing.aliyuncs.com/wuxingge123/dosgame-web-docker:latestdocker-compose部署 vim docker-compose.yml version: 3 services:dosgame:container_name: dosgameimage: registry.cn-beijing.aliyuncs.com/wuxingge123/dosgame-web-docke…...
基于单片机的无线红外报警系统
**单片机设计介绍,基于单片机的无线红外报警系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的无线红外报警系统是一种结合了单片机控制技术和无线红外传感技术的安防系统。该系统通过无线红外传感器实…...
【JAVAEE学习】探究Java中多线程的使用和重点及考点
˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…...
Day81:服务攻防-开发框架安全SpringBootStruts2LaravelThinkPHPCVE复现
目录 PHP-框架安全-Thinkphp&Laravel Laravel CVE-2021-3129 RCE Thinkphp 版本3.X RCE-6.X RCE 版本6.X lang RCE J2EE-框架安全-SpringBoot&Struts2 Struct2 旧漏洞(CVE-2016-0785等) struts2 代码执行 (CVE-2020-17530)s2-061 Str…...
.kat6.l6st6r勒索病毒肆虐,这些应对策略或许能帮到你
引言: 近年来,网络安全问题日益凸显,其中勒索病毒更是成为了公众关注的焦点。其中,.kat6.l6st6r勒索病毒以其独特的传播方式和破坏力,给全球用户带来了极大的困扰。本文将深入探讨.kat6.l6st6r勒索病毒的特点…...
maya移除节点 修改节点
目录 maya移除节点 使用 Maya 用户界面: 使用脚本: maya 修改节点名字 使用 Maya 用户界面: 使用 MEL 脚本: 使用 Python 脚本: 注意事项: maya移除节点 使用 Maya 用户界面: 在“层次…...
嵌入式算法开发系列之卡尔曼滤波算法
卡尔曼滤波算法 文章目录 卡尔曼滤波算法前言一、卡尔曼滤波算法原理二、算法应用三、C语言实现总结 前言 在嵌入式系统中,传感器数据通常受到噪声、误差和不确定性的影响,因此需要一种有效的方法来估计系统的状态。卡尔曼滤波算法是一种基于概率理论的…...
简述对css工程化的理解
一、css工程化解决了哪些问题 1、宏观设计:css如何组织、拆分、设计模块结构 2、编码优化:如何更好地编写css 3、构建:如何处理css,使打包结果最优 4、可维护性:最小化后续的变更成本 二、针对问题,如何解…...
.NET 5种线程安全集合
在.NET中,有许多种线程安全的集合类,下面介绍五种我们常用的线程安全集合以及他们的基本用法。 ConcurrentBag ConcurrentBag 是一个线程安全的无序包。它适用于在多线程环境中频繁添加和移除元素的情况。 ConcurrentBag<int> concurrentBag n…...
计算机信息自查
文章目录 操作系统安装时间硬盘序列号查询上网IPMAC地址 操作系统安装时间 可以使用命令行形式,查询windows系统安装时间: wmic OS get InstallDate首先显示年份,然后是月份,然后是日期,然后是安装的确切时间 或者w…...
配置vite配置文件更改项目端口、使用@别名
一、配置vite配置文件更改项目端口 vite官方文档地址:开发服务器选项 | Vite 官方中文文档 (vitejs.dev) 使用: 二、使用别名 1. 安装 types/node types/node 包允许您在TypeScript项目中使用Node.js的核心模块和API,并提供了对它们的类型…...
【LeetCode热题100】【链表】环形链表
题目链接:141. 环形链表 - 力扣(LeetCode) 判断一个链表有没有环可以用快慢指针的方法,如果没有环,那么最终可以让两个指针中一个为空,如果有环,那么快指针终会与慢指针相遇 class Solution {…...
SpringBoot整合ELK8.1.x实现日志中心教程
目录 背景 环境准备 环境安装 1.JDK安装 2.安装Elasticsearch 3.安装zookeeper 4.安装Kafka 5.安装logstash 6.安装file beat 解决方案场景 1.日志采集 1.1 应用日志配置 1.1.1 创建logback-spring.xml文件 1.1.2 创建LoggerFactory 1.1.3 trace日志的记录用法 …...
计算机网络:数据链路层 - 封装成帧 透明传输 差错检测
计算机网络:数据链路层 - 封装成帧 & 透明传输 & 差错检测 数据链路层概述封装成帧透明传输差错检测 数据链路层概述 从数据链路层来看,主机 H1 到 H2 的通信可以看成是在四段不同的链路上的通信组成的,所谓链路就是从一个节点到相邻…...
如何实现SASM多语言支持:完整国际化配置与翻译指南
如何实现SASM多语言支持:完整国际化配置与翻译指南 【免费下载链接】SASM SASM - simple crossplatform IDE for NASM, MASM, GAS and FASM assembly languages 项目地址: https://gitcode.com/gh_mirrors/sa/SASM SASM(Simple Assembler IDE&…...
Cesium1.95内存优化实战:从3D Tiles到GPU Instancing的完整避坑指南
Cesium1.95内存优化实战:从3D Tiles到GPU Instancing的完整避坑指南 在三维地理信息系统和智慧城市项目中,Cesium作为领先的WebGL框架,其性能表现直接决定了复杂场景的流畅度。当遇到大规模模型加载时,内存溢出成为开发者最头疼的…...
给CUDA新手的3DGS代码导读:从forward.cu到backward.cu,一步步拆解渲染流程
给CUDA新手的3DGS代码导读:从forward.cu到backward.cu,一步步拆解渲染流程 第一次看到3D Gaussian Splatting(3DGS)的CUDA代码时,我盯着那些复杂的核函数和内存操作发了半小时呆。作为从PyTorch转型过来的研究者&#…...
追踪Elsevier审稿进度:开源工具如何提升学术投稿效率
追踪Elsevier审稿进度:开源工具如何提升学术投稿效率 【免费下载链接】Elsevier-Tracker 项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker 学术出版流程中,审稿进度的不确定性常给研究者带来困扰。Elsevier作为全球领先的学术出版…...
解锁虚幻引擎资源解析工具的高效解析与实战应用指南
解锁虚幻引擎资源解析工具的高效解析与实战应用指南 【免费下载链接】UEViewer Viewer and exporter for Unreal Engine 1-4 assets (UE Viewer). 项目地址: https://gitcode.com/gh_mirrors/ue/UEViewer 虚幻引擎资源解析是游戏开发与逆向工程领域的关键技术࿰…...
5分钟玩转OpenClaw:nanobot镜像云端体验与本地调试对比
5分钟玩转OpenClaw:nanobot镜像云端体验与本地调试对比 1. 为什么需要对比云端与本地两种体验方式 作为一个长期折腾AI工具的开发者,我最近在测试OpenClaw时遇到了一个典型困境:是直接在本地电脑安装全套环境,还是先用云端沙盒快…...
嵌入式开发调试与问题诊断实战指南
嵌入式工程师常见问题诊断与调试经验分享1. 典型开发场景分析1.1 开发环境差异问题"在我的开发环境运行正常"是嵌入式工程师最常遇到的困境之一。这种现象通常源于:编译器版本差异(GCC/Keil/IAR版本不一致)硬件平台差异(…...
2026 机器人行业发展前景与 AI 获客方案深度解析
引言:机器人行业的爆发式增长与获客挑战2026 年 3 月,全球机器人行业正处于爆发前夜。数据显示,2026 年全球机器人市场规模预计将达到 4000 亿元,较 2025 年增长 25%(数据来自网络)。随着具身智能技术的加速…...
2026电商客服外包TOP5实力品牌详细解读
进入2026年,电商行业已从粗放式扩张转向精细化运营时代,客户服务不再局限于简单的问答回复,而是成为驱动店铺销售增长、积累品牌声誉的关键要素。根据最新行业研究报告,专业的外包客服团队能够帮助店铺将询单转化率提高20%-30%&am…...
深入解析DW_I2C驱动中的中断处理机制:从FIFO到数据传输实战
深入解析DW_I2C驱动中的中断处理机制:从FIFO到数据传输实战 在嵌入式Linux开发中,I2C总线作为连接各类传感器的关键通道,其驱动性能直接影响系统响应速度和稳定性。DW_I2C(DesignWare I2C)作为业界广泛采用的IP核&…...
