方案一:Hive关联HBase表方式

适用场景:数据量不大4T以下(走hbase的api导入数据)

一、hbase表不存在的情况

创建hive表hive_hbase_table映射hbase表hbase_table,会自动创建hbase表hbase_table,且会随着hive表删除而删除,这里需要指定hive的schema到hbase schema的映射关系:

1、建表

CREATE TABLE hive_hbase_table(key int, name String,age String)

STORED BY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:age")

TBLPROPERTIES ("hbase.table.name" = "hbase_table","hbase.mapred.output.outputtable" = "hbase_table");

2、创建一张原始的hive表,准备一些数据

create table hive_data (key int,name String,age string);

insert into hive_data values(1,"za","13");

insert into hive_data values(2,"ff","44");

3、把hive原表hive_data的数据,通过hive表hive_hbase_table导入到hbase的表hbase_table中

insert into table hive_hbase_table select * from hive_data;

4、查看hbase表hbase_table中是否有数据

二、hbase表存在的情况

创建hive的外表关联hbase表,注意hive schema到hbase schema的映射关系。删除外表不会删除对应hbase表

CREATE EXTERNAL TABLE hive_hbase_external_table(key String, name string,sex String,age String,department String)

STORED BY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:name,info:sex,info:age,info:department")

TBLPROPERTIES ("hbase.table.name" = "filtertest","hbase.mapred.output.outputtable" = "filtertest");

其他步骤与上面相同

方案二:HIve表生成hfile,通过bulkload导入到hbase

1、适用场景:数据量大(4T以上)

2、把hive数据转换为hfile

3、启动hive并添加相关的hbase的jar包

add jar /mnt/hive/lib/hive-hbase-handler-2.1.1.jar;

add jar /mnt/hive/lib/hbase-common-1.1.1.jar;

add jar /mnt/hive/lib/hbase-client-1.1.1.jar;

add jar /mnt/hive/lib/hbase-protocol-1.1.1.jar;

add jar /mnt/hive/lib/hbase-server-1.1.1.jar;

4、创建一个outputformat为HiveHFileOutputFormat的hive表

其中/tmp/hbase_table_hfile/cf_0是hfile保存到hdfs的路径,cf_0是hbase family的名字

create table hbase_hfile_table(key int, name string,age String)

storedasINPUTFORMAT'org.apache.hadoop.mapred.TextInputFormat'OUTPUTFORMAT'org.apache.hadoop.hive.hbase.HiveHFileOutputFormat'TBLPROPERTIES ('hfile.family.path' = '/tmp/hbase_table_hfile/cf_0');

5、原始数据表的数据通过hbase_hfile_table表保存为hfile

insert into table hbase_hfile_table select * from hive_data;

6、查看对应hdfs路径是否生成了hfile

7、通过bulkload将数据导入到hbase表中

建表:使用hbase客户端创建具有上面对应family的hbase表

create 'hbase_hfile_load_table','cf_0'

下载hbase客户端,配置hbase-site.xml,并将hdfs-site.xml、core-site.xml拷贝到hbase/conf目录

导入:

hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles \

hdfs://master:9000/tmp/hbase_table_hfile/ hbase_hfile_load_table

8、查看

hive删除hbase数据_Hive数据导入Hbase相关推荐

  1. hive建表语句_Hive数据如何同步到MaxCompute之实践讲解

    摘要:本次分享主要介绍 Hive数据如何迁移到MaxCompute.MMA(MaxCompute Migration Assist)是一款MaxCompute数据迁移工具,本文将为大家介绍MMA工具的 ...

  2. hive中groupby优化_Hive数据倾斜

    Hive数据倾斜 Group By 中的计算均衡优化 1.Map端部分聚合 先看看下面这条SQL,由于用户的性别只有男和女两个值 (未知).如果没有map端的部分聚合优化,map直接把groupby_ ...

  3. hive 删除分区、写数据到分区表

    1.删除分区 alter table test_table drop partition(id='123',dt='2022-12-02'); 2.写数据到分区表 insert into test_t ...

  4. hive 数字转换字符串_Hive数据类型转换

    写在前面的话,学<Hive的那些事>序列文章,分享给大家.我会在接下来的时间整理有关Hive的资料,如果对Hive的东西感兴趣,请关注本博客.https://www.iteblog.com ...

  5. 数据导入HBase最常用的三种方式及实践分析

    要使用Hadoop,数据合并至关重要,HBase应用甚广.一般而言,需要针对不同情景模式将现有的各种类型的数据库或数据文件中的数据转入至HBase中. 常见方式为:1.使用HBase的API中的Put ...

  6. hive删除hbase数据_Hive进阶:Hive通过外部表操作Hbase数据

    概述: HBase: 查询效率比较高,常为实时业务提供服务,但是其查询方式比较单一,只能通过row方式get单条数据,或者通过scan加过滤器的方式扫描数据表获取数据. Hive: hive用来存储结 ...

  7. hive数据导入hbase

    将hive数据导入hbase 一.hive外部表映射hbase表 1. hbase里面创建表 2. 建立hive外部表并映射hbase表 3.测试 二.spark bulkload方式 1.准备事项 ...

  8. 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作

    https://www.zybuluo.com/aitanjupt/note/209941 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作 〇.摘要 一.基础环境 二.数据存 ...

  9. HBase项目实战:HBase+Flume+Kafka+Hive+SSM实现电信大数据通话信息实时读写定位系统

    内容简介 一.项目内容深度分析 1. 项目内容概览 2.数据的大致流向分析 3. 涉及的知识难点分析 二.项目所用到的框架清单 三.项目实战代码 1. 后端开发 1. 构建工程项目模块 2.开发通话记 ...

最新文章

  1. 3.7Python数据处理篇之Numpy系列(七)---Numpy的统计函数
  2. 比特币现金BCH今日事件
  3. java手机杀毒_Android项目实战_手机安全卫士splash界面
  4. 神经网络模型模型转ONNX
  5. linux centos 7定时任务添加,CentOS 7 cron服务 定时任务使用方法
  6. 手把手教你用.NET Core写爬虫
  7. 当程序员那么痛苦,我来告诉你他们为什么还没放弃?
  8. 库 v10怎么安装_22000Pa强劲吸力加高续航,追觅V10无线吸尘器体验
  9. linepipe——又一个自然语言开源程序
  10. CANFD MCP2517FD 滤波ID设置例子
  11. hadoop中HDFS命令遇到的问题
  12. 如何在Mac系统中将照片设置为自动播放以及快速更改壁纸的方法
  13. Apollo 2.0 车辆控制算法LQR解析
  14. ios 隔空投安装ipa_ios打ipa包安装到真机进行测试
  15. 解决Visio和office365安装兼容问题
  16. 再见,拼多多!再见,黄铮!
  17. 数字图像处理——第二章 数字图像基础
  18. t-star腾讯安全高校挑战赛2022 writeup
  19. Bilibili 视频下载 Python 实现
  20. vue openlayer 添加风场效果

热门文章

  1. Luo's oj P1918 简单的操作
  2. 面试经验:深圳IBM和另一家上市公司
  3. Docker——Docker 常用命令
  4. 基于内容推荐算法实现原理
  5. 苹果电脑python编程里面怎么切到中文_Mac苹果笔记本上实现Python多版本相互切换功能...
  6. eclipse的安装及基本配置
  7. HTML5响应式网页设计——核心技能考核示例(用于2022年11月H5考核)
  8. Android入门第1天-Android Studio的安装
  9. 想知道录音转文字哪个软件好吗?来看看这篇文章
  10. vue 3.0中设置网页title