当前位置: 首页 > news >正文

IDEA连接HBase

新建maven工程

打开pom.xml添加hbase需要的依赖

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

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HConstants;
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;import java.io.IOException;public class HBase {public static void main(String[] args) {//配置HBase信息,连接HBase数据库Configuration conf = HBaseConfiguration.create();conf.set(HConstants.HBASE_DIR, "hdfs://192.168.153.146:9000/hbase");//给配置类添加配置conf.set(HConstants.ZOOKEEPER_QUORUM, "192.168.153.146");conf.set(HConstants.CLIENT_PORT_STR, "2181");try {//获取连接Connection conn = ConnectionFactory.createConnection(conf);System.out.println(conn);Table stuTB = conn.getTable(TableName.valueOf("bigdata:student"));Put put = new Put(Bytes.toBytes("rowkey11"));put.addColumn("baseinfo".getBytes(), "name".getBytes(), "guo".getBytes());put.addColumn("baseinfo".getBytes(), "age".getBytes(), "18".getBytes());put.addColumn("baseinfo".getBytes(), "birthday".getBytes(), "1994-10-06".getBytes());put.addColumn("schoolinfo".getBytes(), "name".getBytes(), "西华一高".getBytes());put.addColumn("schoolinfo".getBytes(), "address".getBytes(), "西华".getBytes());stuTB.put(put);} catch (IOException e) {e.printStackTrace();}}
}
import static org.junit.Assert.assertTrue;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.*;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;/*** Unit test for simple App.*/
public class AppTest {static Configuration config = null;private Connection conn = null;private Admin admin;@Before//测试之前先加载public void init() throws IOException {System.out.println("执行init()");config = HBaseConfiguration.create();config.set(HConstants.HBASE_DIR, "hdfs://192.168.153.147:9000/hbase");config.set(HConstants.ZOOKEEPER_QUORUM, "192.168.153.147");config.set(HConstants.CLIENT_PORT_STR, "2181");conn = ConnectionFactory.createConnection(config);admin = conn.getAdmin();}@Testpublic void test1() {System.out.println(conn);System.out.println("执行test1()");}/*** 创建命名空间*/@Testpublic void createNameSpace() throws IOException {NamespaceDescriptor kb21 = NamespaceDescriptor.create("kb21").build();try {admin.createNamespace(kb21);} catch (IOException e) {e.printStackTrace();}}/*** 创建表*/@Testpublic void createTable() throws IOException {//创建表的描述类TableName tableName = TableName.valueOf("bigdata:car2");HTableDescriptor desc = new HTableDescriptor(tableName);//创建列族的描述HColumnDescriptor family1 = new HColumnDescriptor("info");desc.addFamily(family1);admin.createTable(desc);}/*** 删除表** @throws IOException*/@Testpublic void createTable2() throws IOException {admin.disableTable(TableName.valueOf("bigdata:car"));admin.deleteTable(TableName.valueOf("bigdata:car"));}@Testpublic void getAllNamespace() throws IOException {String[] nps = admin.listNamespaces();String s = Arrays.toString(nps);System.out.println(s);}/****/@Testpublic void getAllNamespace2() throws IOException {List<TableDescriptor> tableDesc = admin.listTableDescriptorsByNamespace("kb21".getBytes());System.out.println(tableDesc.toString());}@Afterpublic void close() throws IOException {System.out.println("执行close()");if (admin != null) {admin.close();}if (conn != null) {conn.close();}}@Testpublic void insertData() throws IOException {Table table = conn.getTable(TableName.valueOf("bigdata:car2"));Put put2 = new Put(Bytes.toBytes("model3"));put2.addColumn("info".getBytes(), "brand".getBytes(), "TSLA".getBytes());put2.addColumn("info".getBytes(), "country".getBytes(), "美国".getBytes());put2.addColumn("info".getBytes(), "model".getBytes(), "轿车".getBytes());put2.addColumn("info".getBytes(), "price".getBytes(), "23万".getBytes());put2.addColumn("info".getBytes(), "data".getBytes(), "1994-10-01".getBytes());Put put3 = new Put(Bytes.toBytes("modely"));put3.addColumn("info".getBytes(), "brand".getBytes(), "TSLA".getBytes());put3.addColumn("info".getBytes(), "country".getBytes(), "美国".getBytes());put3.addColumn("info".getBytes(), "model".getBytes(), "suv".getBytes());put3.addColumn("info".getBytes(), "price".getBytes(), "40万".getBytes());put3.addColumn("info".getBytes(), "data".getBytes(), "1998-10-01".getBytes());ArrayList<Put> list = new ArrayList<>();list.add(put2);list.add(put3);table.put(list);}/*** get查询*/@Testpublic void queryData() throws IOException {Table table = conn.getTable(TableName.valueOf("kb21:student"));Get get = new Get(Bytes.toBytes("student1"));Result result = table.get(get);byte[] value = result.getValue(Bytes.toBytes("info1"), Bytes.toBytes("name"));System.out.println("姓名:" + Bytes.toString(value));value = result.getValue(Bytes.toBytes("info2"), Bytes.toBytes("school"));System.out.println("学校:" + Bytes.toString(value));}@Testpublic void scanData() throws IOException {Table table = conn.getTable(TableName.valueOf("kb21:student"));Scan scan = new Scan();ResultScanner scanner = table.getScanner(scan);for (Result result : scanner) {byte[] value = result.getValue(Bytes.toBytes("info1"), Bytes.toBytes("name"));System.out.println("姓名:" + Bytes.toString(value));value = result.getValue(Bytes.toBytes("info2"), Bytes.toBytes("school"));System.out.println("学校:" + Bytes.toString(value));System.out.println(Bytes.toString(result.getRow()));}}

Hive连接Hbase

修改 /opt/soft/hive312/conf 下的 hive-site.xml

<property>
<name>hive.zookeeper.quorum</name>
<value>192.168.153.147</value>
</property>

<property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.153.147</value>
</property>

<property>
<name>hive.aux.jars.path</name>
<value>file:///opt/soft/hive312/lib/hive-hbase-handler-3.1.2.jar,file:///opt/soft/hive312/lib/zookeeper-3.4.6.jar,file:///opt/soft/hive312/lib/hbase-client-2.3.5.jar,file:///opt/soft/hive312/lib/hbase-common-2.3.5-tests.jar,file:///opt/soft/hive312/lib/hbase-server-2.3.5.jar,file:///opt/soft/hive312/lib/hbase-common-2.3.5.jar,file:///opt/soft/hive312/lib/hbase-protocol-2.3.5.jar,file:///opt/soft/hive312/lib/htrace-core-3.2.0-incubating.jar</value>
</property>

 把hbase jar包拷贝到hive

[root@guo147 conf]# cp /opt/soft/hbase235/lib/* /opt/soft/hive312/lib/

(会有重复的选 n 不覆盖)

删除hive  guava-11.0.2.jar

[root@guo147 conf]# find ../lib/guava*
../lib/guava-11.0.2.jar
../lib/guava-27.0-jre.jar

[root@guo147 conf]# rm -rf ../lib/guava-11.0.2.jar 

 删除hbase  guava-11.0.2.jar

[root@guo147 lib]# pwd
/opt/soft/hbase235/lib

[root@guo147 lib]# rm -rf guava-11.0.2.jar

//拷贝

[root@guo147 lib]# cp /opt/soft/hive312/lib/guava-27.0-jre.jar ./

相关文章:

IDEA连接HBase

新建maven工程 打开pom.xml添加hbase需要的依赖 <dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>2.3.5</version> </dependency><dependency><groupId>org.apa…...

Mask2Former来了!用于通用图像分割的 Masked-attention Mask Transformer

原理https://blog.csdn.net/bikahuli/article/details/121991697 源码解析 论文地址&#xff1a;http://arxiv.org/abs/2112.01527 项目地址&#xff1a;https://bowenc0221.github.io/mask2former Mask2Former的整体架构由三个组件组成&#xff1a; 主干特征提取器&#xff…...

【量化课程】01_投资与量化投资

文章目录 1.1 什么是投资1.1.1 经济意义上的投资1.1.2 投资的分类1.1.3 金融投资1.1.4 个人投资者投资品种1.1.5 投资VS投机 1.2 股票投资的基本流程1.3 常见的股票投资分析流派1.3.1 投资者分析流派 1.4 什么是量化投资1.4.1 量化投资基本概念1.4.2 量化投资的优势1.4.3 量化投…...

SpringBoot实现导出Excel功能

1 问题背景 需求要做一个导出excel的功能 2 前言 本篇着重阐述后端怎么实现&#xff0c;前端实现的部分只会粗略阐述。该实现方案是经过生产环境考验的&#xff0c;不是那些拿来练手的小demo。本文阐述的方案可以借鉴用来做毕设或者加到自己玩的项目中去。再次声明&#xff0c;…...

NSSCTF之Misc篇刷题记录⑧

NSSCTF之Misc篇刷题记录 [MMACTF 2015]welcome[广东强网杯 2021 团队组]欢迎参加强网杯[虎符CTF 2022]Plain Text[SWPUCTF 2021 新生赛]原来你也玩原神[SWPUCTF 2021 新生赛]我flag呢&#xff1f;[鹤城杯 2021]New MISC NSSCTF平台&#xff1a;https://www.nssctf.cn/ PS&…...

从零开始学习Linux运维,成为IT领域翘楚(七)

文章目录 &#x1f525;Linux下常用软件安装_JDK和Tomcat安装&#x1f525;Linux下常用软件安装_MySQL安装&#x1f525;Linux下常用软件安装_MySQL卸载 &#x1f525;Linux下常用软件安装_JDK和Tomcat安装 Jdk 安装 解压jdk安装包 tar -zxvf jdk-8u201-linux-x64.tar.gz -C/…...

优漫动游设计APP的UI界面需要注意哪些问题?

一、加载   加载时间的长短&#xff0c;很大程度的决定了用户体验是否有所提升&#xff0c;虽然理想中的页面加载出来应该一秒就够了&#xff0c;但是设计师不要忽略网络问题!如果网速不够的话&#xff0c;页面加载三五秒都算是快的了&#xff0c;所以在用户等待的过程中&a…...

面试 004

什么是 Java 内存结构 Java 内存结构就是 JVM 的运行书数据区的内存结构&#xff1a; 里面有堆、虚拟机栈、本地方法栈、程序计数器&#xff1b; 虚拟机栈&#xff1a;里面的数据结构是栈帧&#xff0c;存放了方法名&#xff0c;局部变量等信息 方法区在 1.8 的时候&#xf…...

CCF-202206-2-寻宝!大冒险!

目录 题目背景 问题描述 一、思路&#xff1a; 二、实现方法&#xff08;C&#xff09; 2.1、方法一&#xff08;int储存&#xff09; 思路&#xff1a; C实现如下&#xff1a; 2.2、方法二&#xff08;结构体储存&#xff09; 思路&#xff1a; 注意&#xff1a;边界…...

二叉搜索树中的众数

1题目 给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root &#xff0c;找出并返回 BST 中的所有 众数&#xff08;即&#xff0c;出现频率最高的元素&#xff09;。 如果树中有不止一个众数&#xff0c;可以按 任意顺序 返回。 假定 BST 满足如下定义&…...

认识JSP

什么是JSP? JSP&#xff08;Java Server Pages&#xff09;是一种类似于HTML的标记语言&#xff0c;用于创建动态Web页面。与HTML不同的是&#xff0c;JSP页面中可以嵌入Java代码&#xff0c;由Web服务器在动态页面中生成HTML代码&#xff0c;从而实现Web应用程序的前端交互效…...

MySQL数据管理

一、MySQL数据库管理 1、库和表 行&#xff08;记录&#xff09;&#xff1a;用来描述一个对象的信息 列&#xff08;字段&#xff09;&#xff1a;用来描述对象的一个属性 2、常用的数据类型 int &#xff1a;整型 float &#xff1a;单精度浮点 4字节32位 double &…...

第十九章 Unity 其他 API

本节介绍一些其他经常使用的Unity类。首先&#xff0c;我们回顾一下Vector3向量类&#xff0c;它既可以表示方向&#xff0c;也可以表示大小。它在游戏中可以用来表示角色的位置&#xff0c;物体的移动/旋转&#xff0c;设置两个游戏对象之间的距离。在我们之前的课程中&#x…...

sha256算法详解,用C语言模拟sha256算法

SHA-256是一种加密算法,它可以将任意长度的数据块计算出一个固定长度的输出值,通常是256位。SHA-256具有以下特点: 1. 固定输出长度:SHA-256的输出长度为256位,不受输入数据的长度限制。 2. 不可逆性:SHA-256采用单向哈希函数,即无法从输出值反向推出输入数据。 3. 抗…...

前端技术未来发展展望

前端技术在未来的发展中将继续保持快速、变化多样和创新性强的趋势。以下是我认为前端技术未来发展的几个方向&#xff1a; 框架和库的演进&#xff1a;框架和库的更新换代将继续加速。React、Vue、Angular等主流框架的更新周期将会缩短&#xff0c;同时各自的生态系统也将更加…...

第四十六天|dp

今天的题还是完全背包的题 139. Word Break 这道题其实用deque也能做,但是需要cache去记录之前尝试过的值,.相对简单的办法就是用完全背包了 这道题worddict就是物品.我们的dp[i]代表到i为止是不是能满足题意分成segmentation 处置化全为false,但是dp[0]True.这是因为为0时…...

汇编语言-复习自用

本文用于自我复习汇编语言&#xff0c;参考b站一位老师的讲解整理而成&#xff0c;感谢老师的无私付出视频链接链接 文章目录 1.第一章1.1计算机组成1.2读取1.3 寄存器及数据存储1.4 mov和and指令1.5 确定物理地址1.6 内存分段表示法1.7debug使用1.8CS:IP1.9jmp指令改变csip1.1…...

Android moneky自动点击应用设想

近期又有人发错私密消息到群聊天里&#xff0c;造成巨大反应的事件&#xff0c;可谓是一失手成大恨&#xff0c;名利受损。 而如果手机里安装一个monkey自动点击程序&#xff0c;没事的时候&#xff0c;跑跑monkey&#xff0c;倒一杯茶&#xff0c;静静的看手机屏幕在那里点击&…...

16.基于主从博弈理论的共享储能与综合能源微网优化运行研究

说明书 MATLAB代码&#xff1a;基于主从博弈理论的共享储能与综合能源微网优化运行研究 关键词&#xff1a;主从博弈 共享储能 综合能源微网 优化调度 参考文档&#xff1a;《基于主从博弈理论的共享储能与综合能源微网优化运行研究》完全复现 仿真平台&#xff1a;MATLAB …...

使用 ESP32 设计智能手表第 2 部分 - 环境光和心率传感器

我们研究了如何为我们的智能手表项目制作一些有趣的表盘。在这一部分中,我们将研究如何将一些传感器连接到我们的智能手表,并将连接 BH1750 环境光传感器和 MAX30102 心率传感器。我们将分别研究这些模块中的每一个的接口。 先决条件——安装必要的库 本文下方提供的 GitHub …...

分布式事务 --- 理论基础、Seata架构、部署

一、分布式事务问题 1.1、本地事务 本地事务&#xff0c;也就是传统的单机事务。在传统数据库事务中&#xff0c;必须要满足四个原则&#xff1a; 1.2、分布式事务 分布式事务&#xff0c;就是指不是在单个服务或单个数据库架构下&#xff0c;产生的事务&#xff0c;例如&am…...

低代码开发重要工具:JVS列表页字段样式配置说明

列表页中&#xff0c;通常存在各种各样的样式控制&#xff0c;例如字段宽度需要可调、字段的颜色根据内容变化等&#xff0c;那么我们接下来介绍下字段的样式控制的内容以及对应的效果。 1、字段样式控制配置位置 进入列表页的 数据配置界面&#xff0c;每个字段可以有独立的配…...

explain结果字段分析

select_type simple&#xff1a;表示不需要union操作或者不包含子查询的简单select语句。有连接查询时&#xff0c;外层的查询为simple且只有一个。 primary&#xff1a;一个需要union操作或者含有子查询的select&#xff0c;位于最外层的单位查询的select_type即为primary且只…...

MySQL连接查询

MySQL连接查询 在多表联合查询时&#xff0c;为了减少查询的次数&#xff0c;使用连接查询可以一次查询多个相关联表的数据。 MySQL连接查询&#xff1a;分为内连接查询和外连接查询。 其中外连接查询又分成 left连接查询 和 right连接查询。 下午为两张数据库表&#xff0c;表…...

7. Docker——Dockerfile

本章讲解知识点 DockerfileDockerfile 常用命令Dockerfile 综合示例Docker Compose当我们理解了镜像的基本原理后,我们就可以开始 Dockerfile 的学习了。 1. Dockerfile Dockerfile 是用于构建 Docker 镜像的脚本。它包含一组指令,按顺序执行以创建 Docker 镜像,从而使其可…...

Input事件在应用中的传递(一)

Input事件在应用中的传递(一) hongxi.zhu 2023-4-25 前面我们已经梳理了input事件在native层的传递&#xff0c;这一篇我们接着探索input事件在应用中的传递与处理&#xff0c;我们将按键事件和触摸事件分开梳理&#xff0c;这一篇就只涉及按键事件。 一、事件的接收 从前面的…...

我在VScode学Java(Java一维数组)

我的个人博客主页&#xff1a;如果\真能转义1️⃣说1️⃣的博客主页 关于Java基本语法学习---->可以参考我的这篇博客&#xff1a;(我在Vscode学Java) 我在VScode学Java(Java一维数组&#xff09; Java 一维数组 声明数组&#xff1a;先声明&#xff0c;后使用 动态分配内…...

不能使用chatGPT?这3个平替甚至比chatGPT更强

不能使用chatGPT&#xff1f;这3个平替甚至比chatGPT更强 chatGPT&#xff0c;一款由OpenAI开发的新型AI聊天机器人&#xff0c;正在势如破竹地改变着许多人的工作和生活方式。作为一款基于大语言模型的聊天机器人&#xff0c;chatGPT能够理解自然语言并进行人机对话。与传统的…...

基于SLM调制器,MIT研发高效率全息显示方案

此前&#xff0c;青亭网曾报道过NVIDIA、三星、剑桥大学等对空间光调制器&#xff08;SLM&#xff09;全息方案的探索。空间光调制器可调节光波的空间分布&#xff0c;在电驱动信号控制下&#xff0c;可改变光在空间中传播的振幅、强度、相位、偏振态等特性&#xff0c;从而形成…...

【Docker】镜像与docker数据卷

文章目录 一、镜像1、镜像2、镜像原理之联合文件系统3、镜像原理之分层4、commit镜像 二、数据卷1、数据卷2、-v使用数据卷3、实战&#xff1a;MySQL 同步数据4、docker volume相关指令5、匿名和具名挂载6、数据卷之Dockerfile7、数据卷容器 一、镜像 1、镜像 镜像是一种轻量级…...

js网站登录怎么做/qq群推广网站

Description 给你一个无向图&#xff0c;N(N<500)个顶点, M(M<5000)条边&#xff0c;每条边有一个权值Vi(Vi<30000)。给你两个顶点S和T&#xff0c;求一条路径&#xff0c;使得路径上最大边和最小边的比值最小。如果S和T之间没有路径&#xff0c;输出”IMPOSSIBLE”&a…...

wordpress 附件储存/中小企业管理培训课程

互联网当下炒的比较火的几个技术名词&#xff0c;莫过于5G、物联网、互联网、边缘计算、大数据、人工智能了&#xff0c;对于吃瓜群众来说&#xff0c;每个名词都还挺熟悉的&#xff0c;仔细问下去&#xff0c;也还能说出个1、2、3来&#xff0c;可你要是继续追问这些技术之间有…...

wordpress 中英文网站/公司网站建站要多少钱

题目 有n个村&#xff0c;m条路&#xff0c;给n-1条路刷油漆连接n个村&#xff0c;让最长边与最短边的长度差最小。 输入输出&#xff08;建议跳过&#xff09; Input 第一行给出一个数字TOT&#xff0c;代表有多少组数据,Tot<6 对于每组数据&#xff0c;首先给出N&#xf…...

南城网站优化公司/石家庄seo排名外包

描述 查找和排序题目&#xff1a;输入任意&#xff08;用户&#xff0c;成绩&#xff09;序列&#xff0c;可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。例示&#xff1a; jack 70 peter 96 Tom 70 smith 67从高到低 成绩…...

网站备案的幕布是什么意思/企业网络搭建

//main.c //include基本概念//include是预处理指令&#xff0c;翻译之前会替换&#xff0c;编译之前左的处理&#xff0c;#都是预处理指令&#xff0c;翻译时候会添加别的内容进来。#include <stdio.h> // #是预编译指令&#xff0c;告诉系统printf函数是存在的, 告诉系统…...

常熟做公司网站/郑州关键词排名外包

本文转载自&#xff1a;http://blog.csdn.net/m13666368773/article/details/8060481 一.正向代理 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器&#xff0c;这个代理服务器呢,他能访问那个我不能…...