第 7 章 与 Hive 的集成--以及最后的HBase回顾

news2024/11/18 17:38:40

7.1 使用场景

如果大量的数据已经存放在 HBase 上面,需要对已经存在的数据进行数据分析处理,那
么 Phoenix 并不适合做特别复杂的 SQL 处理,此时可以使用 hive 映射 HBase 的表格,之后
写 HQL 进行分析处理。

插入一条,

上面那个,进来实在太慢了

/opt/module/phoenix-hbase-2.4-5.1.2/bin/sqlline.py hadoop102,hadoop103,hadoop104:2181

在这里插入图片描述

7.2 HBase 与 Hive 集成使用

在 hive-site.xml 中添加 zookeeper 的属性,如下:

<property>
	 <name>hive.zookeeper.quorum</name>
	 <value>hadoop102,hadoop103,hadoop104</value>
</property>

<property>
	 <name>hive.zookeeper.client.port</name>
	 <value>2181</value>
</property>

1)案例一

目标:建立 Hive 表,关联 HBase 表,插入数据到 Hive 表的同时能够影响 HBase 表。

分步实现:
(1)在 Hive 中创建表同时关联 HBase

CREATE TABLE hive_hbase_emp_table(
	 empno int,
	 ename string,
	 job string,
	 mgr int,
	 hiredate string,
	 sal double,
	 comm double,
	 deptno int
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = 
":key,info:ename,info:job,info:mgr,info:hiredate,info:sal,info:comm,info:deptno")
TBLPROPERTIES ("hbase.table.name" = "hbase_emp_table");

提示:完成之后,可以分别进入 Hive 和 HBase 查看,都生成了对应的表。

(2)在 Hive 中创建临时中间表,用于 load 文件中的数据
提示:不能将数据直接 load 进 Hive 所关联 HBase 的那张表中。

CREATE TABLE emp(
	 empno int,
	 ename string,
	 job string,
	 mgr int,
	 hiredate string,
	 sal double,
	 comm double,
	 deptno int
)
row format delimited fields terminated by '\t';

(3)向 Hive 中间表中 load 数据

hive>	 load data local inpath '/opt/software/emp.txt' into table emp;

(4)通过 insert 命令将中间表中的数据导入到 Hive 关联 Hbase 的那张表中

hive> 	insert into table hive_hbase_emp_table select * from emp;

(5)查看 Hive 以及关联的 HBase 表中是否已经成功的同步插入了数据
Hive:

hive> select * from hive_hbase_emp_table;

HBase:

Hbase> scan 'hbase_emp_table'

2)案例二

目标:在 HBase 中已经存储了某一张表 hbase_emp_table,然后在 Hive 中创建一个外部表来关联 HBase 中的 hbase_emp_table 这张表,使之可以借助 Hive 来分析 HBase 这张表中的数据。

注:该案例 2 紧跟案例 1 的脚步,所以完成此案例前,请先完成案例 1。

分步实现:
(1)在 Hive 中创建外部表

CREATE EXTERNAL TABLE relevance_hbase_emp(
	 empno int,
	 ename string,
	 job string,
	 mgr int,
	 hiredate string,
	 sal double,
	 comm double,
	 deptno int
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = 
":key,info:ename,info:job,info:mgr,info:hiredate,info:sal,info:comm,info:deptno") 
TBLPROPERTIES ("hbase.table.name" = "hbase_emp_table");

(2)关联后就可以使用 Hive 函数进行一些分析操作了

hive (default)> 	select deptno,avg(sal) monery from relevance_hbase_emp group by deptno ;

最后总结

HBase是什么

在这里插入图片描述
在这里插入图片描述
Apache HBase™ is the Hadoop database, a distributed, scalable, big data store.

在这里插入图片描述

HIVE是什么

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/492517.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙Hi3861学习五-Huawei LiteOS(任务管理)

一、任务简介 关于任务的相关介绍&#xff0c;之前文章有比较详细的介绍&#xff0c;这里不做过多解释&#xff0c;可以参考如下文章&#xff1a;FreeRTOS学习二&#xff08;任务&#xff09;_t_guest的博客-CSDN博客 而LiteOS的主要特性可以总结为如下几点&#xff1a; LiteO…

一个文章学会使用Git

GIT版本控制系统 版本控制系统 : ​ 1.记录历史版本信息 (记录每一次修改的记录) ​ 2.方便团队相互之间协作开发 ​ … 常用的版本控制系统 cvs / svn : 集中式版本控制系统git : 分布式版本控制系统 svn git GIT工作原理 工作区 : 我们能看到的&#xff0c;并且用来写代码的…

nodejs的安装以及Dos的命令

1.0 nodeJS nodejs是基于谷歌v8引擎的执行环境&#xff0c;他没有BOM、DOM nodeJS安装 找官网 ->下载 -> 傻瓜式下一步 -> win键 r -> 输入cmd 进入dos操作命令 -> node -v 查看版本 1.1 DOS 命令【掌握】 进入指定文件夹 cd 文件目录 退出到上一层 cd .…

112.【Vue-细刷-03】

Vue-03 (二十)、过渡和动画1.过渡案列_原生实现2.过渡案列_Vue实现3.动画案列_Vue实现 (1)4.动画案列_Vue实现(2)5.Vue实现时间格式化6.Vue实现过滤器7.Vue常用内置指令 (二十一)、Vue的自定义指令1.自定义非内嵌指令&#xff08;不保留h2中的原有text&#xff09;2.自定义非内…

在线教育机构视频加密防下载和防盗用的方法有哪些可以借鉴

阿酷TONY / 原创 / 2023-5-5 / 长沙 在线教育机构防止视频被盗用和视频被下载&#xff0c;可以采取以下措施&#xff0c;一共10条&#xff0c;总有一条适用于您吧&#xff0c;收藏一下吧~~~~~ 1.VRM分片错序视频加密 2.Html5全链路视频加密 3.用户ID跑马灯 4.数字化动态水印 …

【科普帖】晶振 OCXO、VCXO、TCXO、VC-TCXO、DCXO、SPXO区别

一、前言 晶体振荡器用作频率基准&#xff0c;以生成非常稳定的频率源。它用于许多应用中&#xff0c;如频率合成器&#xff0c;本地振荡器&#xff0c;并在调制解调器和其他电路中提供稳定的时钟。 晶体输出频率漂移主要受温度、电源电压和老化的影响。其中温度变化是最为重要…

PS VR创始成员:瑕不掩瑜,PS VR2是跨世代的飞跃

今年2月&#xff0c;索尼次世代VR头显PS VR2正式发售&#xff0c;这款立项近7年的产品受到了游戏玩家和从业者广泛关注&#xff0c;市面上也有很多种不同的测评报告。PS VR项目创始成员、前索尼沉浸式体验专家、高级VR游戏设计师Jed Ashforth也发表了自己对于该头显的一些看法&…

Verilog概述一:Verilog HDL和 VHDL详细对比

当前比较流行的硬件设计语言有两种&#xff0c;即 VHDL 与 Verilog HDL&#xff0c;两者各有优劣&#xff0c;也各有相当多的拥护者。 VerilogHDL和VHDL都是完备的HDL设计和验证语言&#xff0c;具有完整的设计方法和设计规范。 何为HDL HDL&#xff08;hardware descriptio…

Go type关键字定义新类型和类型别名的区别

type关键字再定义类型和类型别名有很大的区别&#xff0c;前者是新定义一个数据类型&#xff0c;后者是对类型的重命名。 type NewString stringtype OldString stringtype NewString string声明了一个NewString类型&#xff0c;和string具有完全一致的数据结构&#xff0c;确…

【Linux】usb游戏手柄测试、编程

1、简述 在ubuntu18.04下使用usb游戏手柄,之前联系客服,客服回答不清楚是否支持linux,因此采购一款北通蝙蝠2的手柄来测试 2、测试 2.1 测试环境 系统:Ubuntu18.04 正常电脑系统ubuntu中都是自带手柄驱动的joystick,即内核配置已添加选项:Joysticks interface和Joys…

vue - 常见的移动端适配方案

移动端适配方案 rem适配原理方案1&#xff1a;rem媒体查询方案2&#xff1a;jsrem方案3&#xff1a;vwrem&#xff08;不用查询屏幕宽度&#xff09; 移动端适配经常使用的就是 rem; 主要有以下几种方案&#xff1a; 1&#xff1a;rem 媒体查询&#xff08;media&#xff09; …

Springboot(二):配置文件读取

1.1引入依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><a…

一目了然凉哥为大家倾力打造的付费专栏

写在前面 大家好&#xff0c;我是几何心凉&#xff0c;欢迎来到我的付费专栏系列&#xff0c;本专栏将深入介绍 Vue 3 和 Vite&#xff0c;以及如何在 TypeScript 的帮助下构建现代化的 Web 应用程序。 Vue 是一个流行的 JavaScript 框架&#xff0c;它允许开发人员构建高性能…

Java之多线程初阶

目录 一.进程和线程 1.什么是进程 2.并发,并行和串行 3.线程和多线程 4.进程和线程的区别(重点) 5.多线程的优点 6.多线程的缺点 二.线程的创建 1.继承Thread类 2.实现Runnable接口重写run()方法 3.通过匿名内部类的方式创建Thread和实现Runnable 4.通过Lambda表达式…

金豺(GJO)优化算法、matlab代码实现以及与PSO、GWO、SO算法比对

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言1 算法原理2 算法步骤2.1 初始化种群2.2 搜索猎物(全局搜索)2.3 包围和围捕猎物&#xff08;局部搜索&#xff09;2.4 从全局搜索转向局部搜索 3 算法流程图4 m…

(22)目标检测算法之 yolov8模型导出总结

yolov8模型导出总结 不断更新中… 几种部署情况: onnxxmlengine官网说明:https://github.com/ultralytics/ultralytics/blob/main/docs/modes/export.md导出参数: onnx 参数解析format: 导出的模型形式:onnx xml engine ... imgsz: 设置模型的输入尺寸大小,默认640*640 ke…

记录一次docker镜像迁移过程

1.在母本服务器上查看要复刻的docker镜像。 sv800:build 作为docker镜像源[repository:tag],使用docker save 指令提出docker镜像包rk3588.tar docker save -o rk3588.tar sv800:build 2.在新环境下加载docker镜像包&#xff0c;预先安装docker指令工具 docker load -i rk35…

OCT图像中的多尺度无监督视网膜水肿区域分割

文章目录 Multiscale Unsupervised Retinal Edema Area Segmentation in OCT Images摘要本文方法原始的DCCS无监督图像聚类Pseudo-Mask-Guided Pixel-Wise Segmentation 实验结果 Multiscale Unsupervised Retinal Edema Area Segmentation in OCT Images 摘要 提出了一种新的…

STM32F051K8U6按键中断实例

引言 最近要开始做毕设了&#xff0c;准备用STM32做一个平衡小车&#xff0c;好久没做过STM32的裸机项目了&#xff0c;做几个项目练练手&#xff0c;复习一下。本例程使用STM32CubeMX配套hal库来实现按键中断和串口中断。芯片用的是STM32F051K8U6。 一、按键中断 &#xff0…

iproute2和流量控制(ip和tc工具)---iproute2/ip/tc/qdisc实现Linux下的QoS控制

iproute2是一个软件包&#xff0c;这个软件包包含了多种用于高级路由&#xff0c;隧道和流量控制配置工具软件。 iproute2提供了Linux内核对QoS的实现&#xff0c;你可以在以下网站中找到英文原版的信息osdl.org和lartc.org。这些工具软件中&#xff0c;最重要的当数ip和tc这二…