Hive与Hbase 整合

Hive安装及与HBase的整合 介绍Hive的工作原理、配置及与HBase的整合。 阅读详情

问题
1,创建带分区

CREATE TABLE hbase_table_2(key int, value string) PARTITIONED BY (date String) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val") TBLPROPERTIES ("hbase.table.name" = "xyz2");

(1) , insert into hbase_table_2 partition (date) select body_bytes_sent,remotea_ddr,date from access_log limit 10;
不报错 ,但表没数据
(2),insert into hbase_table_2 partition (date =‘201212’) select body_bytes_sent,remotea_ddr from access_log limit 10;
有数据,hbase 没分区date 数据
(3),插入xyz2 put ‘xyz2’, 123, ‘cf1:val’, ‘1.1.1.1’ 对hive 所有分区都有这条数据了

实例 ,2种情况

[root@fuze245 ~]# beeline
Beeline version 1.1.0-cdh5.5.0 by Apache Hive
beeline> !connect jdbc:hive2://fuze245:10000

一,创建hive表 hbase 自动创建
创建

0: jdbc:hive2://fuze245:10000> CREATE TABLE hbase_table(key int, value string)STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val") TBLPROPERTIES ("hbase.table.name" = "xyz");

准备的数据

0: jdbc:hive2://fuze245:10000> select body_bytes_sent,remotea_ddr from access_log limit 10;
+------------------+------------------+--+
| body_bytes_sent  |   remotea_ddr    |
+------------------+------------------+--+
| 1103             | 121.201.34.136   |
| 397              | 113.208.116.106  |
| 2165             | 121.201.34.136   |
| 587              | 113.208.116.106  |
| 318              | 121.201.34.136   |
| 318              | 113.208.116.106  |
| 60               | 121.201.34.136   |
| 60               | 113.208.116.106  |
| 318              | 121.201.34.136   |
| 9566             | 120.24.89.125    |
+------------------+------------------+--+

插入

0: jdbc:hive2://fuze245:10000> insert into hbase_table select body_bytes_sent,remotea_ddr from access_log limit 10;

查询,rowkey 去重

0: jdbc:hive2://fuze245:10000> select * from hbase_table;
+------------------+--------------------+--+
| hbase_table.key  | hbase_table.value  |
+------------------+--------------------+--+
| 1103             | 121.201.34.136     |
| 2165             | 121.201.34.136     |
| 318              | 121.201.34.136     |
| 397              | 113.208.116.106    |
| 587              | 113.208.116.106    |
| 60               | 121.201.34.136     |
| 9566             | 120.24.89.125      |
+------------------+--------------------+--+
7 rows selected (0.865 seconds)

hbase 查询

hbase(main):014:0> scan 'xyz'
ROW                                              COLUMN+CELL                                                                                                                                 
 1103                                            column=cf1:val, timestamp=1456286326149, value=121.201.34.136                                                                               
 2165                                            column=cf1:val, timestamp=1456286326149, value=121.201.34.136                                                                               
 318                                             column=cf1:val, timestamp=1456286326149, value=121.201.34.136                                                                               
 397                                             column=cf1:val, timestamp=1456286326149, value=113.208.116.106                                                                              
 587                                             column=cf1:val, timestamp=1456286326149, value=113.208.116.106                                                                              
 60                                              column=cf1:val, timestamp=1456286326149, value=121.201.34.136                                                                               
 9566                                            column=cf1:val, timestamp=1456286326149, value=120.24.89.125                                                                                
7 row(s) in 0.0800 seconds

插入测试 略

hbase(main):015:0> put 'xyz', 123, 'cf1:val', '1.1.1.1'

二 ,hbase已存在 ,创建hive 必须要EXTERNAL

CREATE EXTERNAL TABLE hbase_table_3(key int,fi map<string,string>) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' COLLECTION ITEMS TERMINATED BY ',' MAP KEYS TERMINATED BY ':' STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = "fi:") TBLPROPERTIES ("hbase.table.name" = "hbase_1");

插入数据

hbase(main):032:0> put 'hbase_1', '123' ,'fi:a', '1.1.1.1'
0 row(s) in 0.0260 seconds

hbase(main):033:0> put 'hbase_1', '123' ,'fi:b', '1.1.1.1'
0 row(s) in 0.0100 seconds

hbase(main):034:0> put 'hbase_1', '123', 'fi:c', '1.1.1.1'
0 row(s) in 0.0160 seconds

hbase(main):035:0> scan 'hbase_1'
ROW                                              COLUMN+CELL                                                                                                                                 
 123                                             column=fi:a, timestamp=1456299052170, value=1.1.1.1                                                                                         
 123                                             column=fi:b, timestamp=1456299052242, value=1.1.1.1                                                                                         
 123                                             column=fi:c, timestamp=1456299053714, value=1.1.1.1                                                                                         
1 row(s) in 0.2050 seconds

hive 查询

0: jdbc:hive2://fuze245:10000> select * from hbase_table_3;
+--------------------+------------------------------------------------------------+--+
| hbase_table_3.key  |                      hbase_table_3.fi                      |
+--------------------+------------------------------------------------------------+--+
| 123                | {"a":"1.1.1.1","b":"1.1.1.1","c":"1.1.1.1","d":"1.1.1.1"}  |
+--------------------+------------------------------------------------------------+--+

load 数据报错

0: jdbc:hive2://fuze245:10000> load data local inpath '/root/test' into table hbase_table_3;
Error: Error while compiling statement: FAILED: SemanticException [Error 10101]: A non-native table cannot be used a

insert into 可以

0: jdbc:hive2://fuze245:10000> select * from test3;
+-----------+-----------------------------------------+--+
| test3.id  |               test3.perf                |
+-----------+-----------------------------------------+--+
| 234       | {"job":"80","team":"60","person":"70"}  |
+-----------+-----------------------------------------+--+
1 row selected (0.206 seconds)
0: jdbc:hive2://fuze245:10000> insert into table hbase_table_3 select * from test3;

结果

0: jdbc:hive2://fuze245:10000> select * from hbase_table_3;
+--------------------+------------------------------------------------------------+--+
| hbase_table_3.key  |                      hbase_table_3.fi                      |
+--------------------+------------------------------------------------------------+--+
| 123                | {"a":"1.1.1.1","b":"1.1.1.1","c":"1.1.1.1","d":"1.1.1.1"}  |
| 234                | {"job":"80","person":"70","team":"60"}                     |
+--------------------+------------------------------------------------------------+--+
hbase(main):038:0> scan 'hbase_1'
ROW                                              COLUMN+CELL                                                                                                                                 
 123                                             column=fi:a, timestamp=1456299052170, value=1.1.1.1                                                                                         
 123                                             column=fi:b, timestamp=1456299052242, value=1.1.1.1                                                                                         
 123                                             column=fi:c, timestamp=1456299053714, value=1.1.1.1                                                                                         
 123                                             column=fi:d, timestamp=1456299336322, value=1.1.1.1                                                                                         
 234                                             column=fi:job, timestamp=1456300023549, value=80                                                                                            
 234                                             column=fi:person, timestamp=1456300023549, value=70                                                                                         
 234                                             column=fi:team, timestamp=1456300023549, value=60                                                                                           
2 row(s) in 0.0380 seconds
基于CDH5.4的hive与hbase的整合 [Author]: kwu -- 基于CDH5.4的hive与hbase的整合 阅读详情

相关推荐

FAILED: SemanticException [Error 10101]: A non-native table cannot be used as target for LOAD

将 `HBase` 的表和 `Hive` 做关联表时,然后使用 `load data local inpath '***' into table hive_hbase_table;` 出现了 `FAILED: SemanticException [Error 10101]: A non-native table cannot be used as target for LOAD` 这个问题。

优快云 精品推荐 544

hive与hbase整合

Hive与HBase 整合使用   1.     在Hive中创建Hbase识别的表方法 CREATE TABLE IF NOTEXISTS user_time_day ( telno STRING, province STRING, time_tag_1 STRING, time_tag_2 STRING ) stored by'org.apache.hadoo

lzshentibang的专栏 454

AUTO-DL平台快速部署BEVFormer:Nuscenes数据集完整训练避坑指南

本文详细介绍了在AUTO-DL平台高效部署BEVFormer模型并利用Nuscenes数据集进行完整训练的实战指南。重点解析了平台数据管理、环境配置、数据集迁移解压、预处理及训练启动等全流程中的关键步骤与常见避坑技巧,帮助研究者和工程师快速复现这一前沿视觉感知模型,节省云端训练时间与成本。

weixin_29188043的博客 334

一起重新开始学大数据-hive篇-day 50 hive语法及进阶

Hive建表 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name // 定义字段名,字段类型 [(col_name data_type [COMMENT col_comment], ...)] // 给表加上注解 [COMMENT table_comment] // 分区 [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] // 分桶 [CLUSTE

tiand7的博客 507

本地部署gradle

在部署CAS构建执行包时,如果按照CAS的官方命令gradlew clean build,如果系统没安装过gradle,这个步骤将会从网上下载gradle,但是进度非常慢,耗时很长。为了更快地完成项目构建,我们可以直接在本地部署好gradle,节省一点时间。

益添的博客 780

学习笔记【Day 20】鸿蒙PC应用在SD WAN MSTP场景用CodeArts test工具测试过程

多生成树协议(MSTP)作为二层网络高可靠、无环路的核心技术,其在鸿蒙 PC 上的兼容性与稳定性测试尤为重要。本文结合华为云 CodeArts TestPlan 全流程测试管理平台,详细拆解鸿蒙 PC 端 MSTP 功能的测试设计、环境搭建、执行验证。1.测试左移,保障迭代效率CodeArts TestPlan 将 MSTP 测试从后期集成阶段 “左移” 至开发早期,通过可复用用例库与自动化脚本,支持每次代码提交后的快速回归测试,避免网络功能稳定性因迭代被破坏。2.平台化工具破解复杂场景测试难题。

aiyijianghe的博客 1059

HBase学习之一: 创建hive和hbase关联表

背景:项目中需要使用HQL对源数据进行分析,分析的结果需要做近似于实时的查询,所以创建的表就需要在hive和hbase之间相关联,此为背景。 drop table tbl_hive_test; create external table tbl_hive_test (   id   string,   name string,   age  string ) STORED BY '

A coder of life 3848

C#上位机实战:工业产线数据采集与监控系统开发(附源码思路)

模块化设计:四层架构清晰,各模块独立可替换,便于后期维护与扩展;稳定性强:支持断线重连、异常重试、并发采集,满足工业7×24小时运行需求;实用性高:覆盖产线监控核心功能,可视化组件适配工业场景,操作简单;源码可复用:通信类、采集服务、报警管理器等可直接复制到其他上位机项目。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1655

hive与hbase关联表

hive创建 关联hbase表有2种形式: 一、建立hive内表,指向hbase:(数据是存在hbase中的) 通过下面的方式创建hive的内表,这种情况是hbase本来没有这张表,创建后会在hbase中同样创建一张表,将来数据也是存放在hbase中的;hdfs的hive表目录有hive文件夹,但是里面没有数据。 create tablehive_hbase_test(id string,n

赶路人儿 1万+

uniapp - 解决uni.getLocation定位不准有偏差,定位经纬度不准确有几百米误差、获取地图定位有偏差怎么办,已配置高精确度但依旧不精准(uni.getLocation定位不准如何解决)

uni.getLocation,获取当前的地理位置、速度。已经设置altitude高精度,uniapp API获取定位有差异问题解决,获取定位有几百米偏差,uni.getLocation(OBJECT)中使用默认type ”wgs84“会导致定位不准的问题,gcj02,uni.getLocation地图定位不准,获取经纬度错误偏移了几十公里,经纬度的精确度误差,怎么消除经纬度偏差,解决 uniapp uni.getLocation 定位经纬度不准问题,使用定位不准,定位不准误差问题,解决定位不准问题,高德地

✅ 精选推荐文章 1万+

Unreal5从入门到精通之如何实现移动端触屏滑动手势

随着移动设备的普及,越来越多的游戏和应用选择在移动平台上发布。Unreal Engine 5(UE5)作为一款强大的游戏引擎,提供了丰富的工具和功能,帮助开发者打造出色的移动体验。UE5不仅提升了图形质量,还大幅简化了开发流程,使得开发者能够更专注于游戏设计和用户体验。在移动游戏中,触屏滑动手势是用户与应用互动的主要方式之一。然而,许多开发者在实现这些功能时常常遇到困难。为了填补这一知识空白,本篇文章将详细介绍如何在UE5中实现移动端触屏滑动手势,帮助你从入门到精通,提升你的开发技能。

TxNet 1138

hbase与hive整合

1.    原理                                                        图1Hive与HBase交互原理图 Hive与HBase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互间依靠hive-hbase-handler.jar工具类 (Hive Storage Handlers )进行通信。 注意事项: 1、需

buptsyqx的专栏 1677

ModuleNotFoundError: No module named‘langchain.schema.output parserlangchain.schema is not a package

电脑里现有的langchain库版本与import所需的不同,卸载原有langchain,重新下载最新的langchain。在步骤1后,若仍不可运行。在确保已重新下载新langchain后,重启python后,可正常运行。在版本号中填入所需的langchain版本号,可在requirements.txt查看。运行如下代码时,出现error。

weixin_45751925的博客 1713

hive与hbase的整合

Hive提供了与HBase的集成,使得能够在HBase表上使用HQL语句进行查询 插入操作以及进行Join和Union等复杂查询、同时也可以将hive表中的数据映射到Hbase中。 1.1hive整合hbase的搭建配置 说明:Hive是单节点,hbase为集群 修改hive-site.xml文件,添加zookeeper配置 <!--hive整合hbase --> &lt...

健康平安的活着的专栏 1144

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

HBase与Hive的整合

HBase与Hive的整合 hive与我们的HBase各有千秋,各自有着不同的功能, 但是归根接地,hive与hbase的数据最终都是存储在hdfs上面的, 一般的我们为了存储磁盘的空间,不会将一份数据存储到多个地方, 导致磁盘空间的浪费,我们可以直接将数据存入hbase, 然后通过hive整合hbase直接使用sql语句分析hbase里面的数据即可,非常方便 需求一:将Hive分...

最慢的步伐不是跬步,而是徘徊;最快的脚步不是冲刺,而是坚持 9164

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

hive与HBase的整合

1、hive与HBase的整合 hive与我们的HBase各有千秋,各自有着不同的功能,但是归根接地,hive与hbase的数据最终都是存储在hdfs上面的,一般的我们为了存储磁盘的空间,不会将一份数据存储到多个地方,导致磁盘空间的浪费,我们可以直接将数据存入hbase,然后通过hive整合hbase直接使用sql语句分析hbase里面的数据即可,非常方便. 需求一:将hive分析结果的数据,保存...

汉子一枚 720

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Hive与Hbase整合

Hive与Hbase整合 1.文档   Hive HBase Integration 2.拷贝jar文件 2.1.把Hbase的lib目录下面的jar文件全部拷贝到Hive的lib目录下面 cd /home/hbase/lib cp ./* /home/hive/lib 2.2.把Hive的lib目录下面的hive-hbase-handler-0.13.1.jar拷贝到Hbase的lib目录下...

w13707470416的博客 283

Hive与Hbase整合实操

操作系统版本IP主机名角色类型masterMasterslave1Slave1slave2Slave2组件名称组件版本Hadoop3.3.6Java1.8Flume1.11.0Hive3.1.2Zookeeper3.6.3Flink1.18.1Hbase2.5.4Hudi0.15.0Kafka3.6.2Sqoop1.4.7。

Yian123456的博客 975

Hive与HBase整合详解

参考之前小节的大数据010——Hive与大数据012——HBase成功搭建Hive和HBase的环境,并进行了相应的测试,并且在大数据011——Sqoop中实现Hive、HBase与MySQL之间的相互转换;本文讲述如何将Hive与HBase进行整合。 1. Hive与HBase整合概述 1.1 整合原理 Hive与HBase整合的实现是利用两者本身对外的API接口互相通信来完成的,其具体工作交由...

sinat_34045444的博客 703

Apache HBase HBase与Hive的整合

Hive与HBase的整合 hive与我们的HBase各有千秋,各自有着不同的功能,但是归根接地,hive与hbase的数据最终都是存储在hdfs上面的,一般的我们为了存储磁盘的空间,不会将一份数据存储到多个地方,导致磁盘空间的浪费,我们可以直接将数据存入hbase,然后通过hive整合hbase直接使用sql语句分析hbase里面的数据即可,非常方便 需求一:将hive分析结果的数据,保存到HB...

大数据流浪法师的学习笔记与分享 484

如何将Hive与HBase整合联用

版本说明: HDP:3.0.1.0 Hive:3.1.0 HBase:2.0.0 一、前言 之前学习 HBase 就有疑惑,HBase 虽然可以存储数亿或数十亿行数据,但是对于数据分析来说,不太友好,只提供了简单的基于 Key 值的快速查询能力,没法进行大量的条件查询。 不过,Hive 与 HBase 的整合可以实现我们的这个目标。不仅如此,还能通过 Hive 将数据批量地导入到 HBas...

CREATE_17的博客 1183

Hive与Hbase关系整合。

本篇文章在具体介绍Hive与Hbase整合之前,先给大家用一个流程图介绍Hadoop业务的开发流程以及Hive与Hbase的整合在业务当中的必要性。  其中在数据存入hbase—&gt;Hive对数据进行统计分析的这个步骤中就涉及到了Hive与Hbase的整合,所以了解Hive与Hbase的整合是很有必要的。  1、Hive与Hbase整合的必要性  Hive是建立在Hadoop之上的数据仓库基...

感谢你的关注~~~~ღ( ´・ᴗ・` ) 636

Hive与HBase的整合

hive与我们的hbase各有千秋,各自有着不同的功能,但是归根接地,hive与hbase的数据最终都是存储在hdfs上面的,一般的我们为了存储磁盘的空间,不会将一份数据存储到多个地方,导致磁盘空间的浪费,我们可以直接将数据存入hbase,然后通过hive整合hbase直接使用sql语句分析hbase里面的数据即可,非常方便。 第一步:拷贝hbase的五个依赖jar包到hive的lib目录下 将我...

a657085961的博客 269
上一篇: Cloudera 重启
下一篇: 集成算法 理论
mllhxn
博客等级 码龄14年 116粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值