hive中的数据同步到hbase

这篇具有很好参考价值的文章主要介绍了hive中的数据同步到hbase。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

hive中的数据同步到hbase

工作中遇到了这个工作,就是将hive中的数据同步到hbase中,然后java通过hbase相关的API来访问hbase中的数据。
关于hadoop,hive,hbase这三个技术栈我写了两篇博客简单的分享了我对这三个技术栈的一些看法,在我目前的认知里,hadoop提供hdfs这个组件来存储大数据量的数据(相比于mysql,oracle这些关系型数据库),然后提供了MapReduce这个组件来对这些数据进行操作,通过yarn这个组件来调度这些操作数据的动作。
但是MapReduce操作数据的命令比较复杂,学习成本较高,这时候hive就可以解决这个问题了,hive是基于hadoop的,通过类sql(HQL)的方式就可以操作这些hdfs中的数据了,这对于经常使用msyql,oracle的人来说,这了解起来就相对容易了。
通过hive sql的方式处理hadoop中的数据速度不是很快,不能满足业务上的需求,至于通过MapReduce的方式来操作数据有多快,这个我没有了解过,不清楚。这时候hbase就解决了这个问题,hbase是一个K-V格式的数据库,处理数据的速度较快,目前业务上也是通过查询hbase。
以上就是我对这三者的一些粗浅理解,今天要介绍的就是如何将hive中的数据同步到hbase中,既然想通过hbase来处理数据,那么hbase中的数据势必要从hive中拿过来,我今天介绍的就是通过外部表的方式将hive中的数据同步到hbase中。
既然提到了外部表,那就会有内部表的概念,其实这两种方式都是hive表和hbase表的一个映射,通过内部表的方式,如果删除了hive表,那对应的hbase表也会删除;外部表的方式就是在删除hive表的时候不会删除对应的hbase表。
好了,想介绍的都说完了,我下面的操作都是基于自己电脑上的虚拟机,不是集群的操作,虚拟机上启动habse,hadoop,和hive。
通过外部表的方式,首先在hbase中要先存在一张表
hive如何同步数据至hbase,大数据相关,hive,hbase,hadoop
我这里已经建好了这各表,namespace(命名空间)是test,表名是gdp,有三个列,c1,c2,c3。具体的hbase shell里创建表的命令可以自行搜一下,后面我可能也会写一遍来介绍hbase shell命令,hive sql,和操作hdfs的命令。

在habse里创建好表之后,就可以去hive中创建对应的映射表了
hive如何同步数据至hbase,大数据相关,hive,hbase,hadoop
hive中我也都创建好了表,其中t_gdp是原始数据表,tmp_gdp_table是和hbase中gdp表关联的外部表,我这里因为只是一个简单的示范,只是将t_gdp表中的数据insert到了tmp_gdp_table表中,正常的业务中,可能是查询了多个表,通过sql处理将数据存到tmp_gdp_table中,然后通过外部表映射的方式同步到habse的gdp表中。
下面是hive中创建外部关联表的命令:

CREATE EXTERNAL TABLE tmp_gdp_table(key varchar(100), province varchar(100),city varchar(100),gdp double) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,c1:province,c2:city,c3:gdp") 
TBLPROPERTIES ("hbase.table.name" = "test:gdp", "hbase.mapred.output.outputtable" = "test:gdp");

创建好关联表之后,将t_gdp中的数据insert到tmp_gdp_table表中:

insert into tmp_gdp_table (select f_year,f_province,f_city,f_gdp from t_gdp);

在实际的业务开发中一般是通过定时任务执行脚本的方式来执行上面的sql:
脚本命令如下:

#!/bin/bash

hive -e 'insert into tmp_gdp_table (select f_year,f_province,f_city,f_gdp from t_gdp);'

通过执行脚本,在实际业务开发中就可以通过linux里的crontab或者公司自己的调度平台来执行了。
下面看一下对应表中的数据:
原始数据表t_gdp中的数据:
hive如何同步数据至hbase,大数据相关,hive,hbase,hadoop
再看一下hive中的关联表tmp_gdp_table中的数据:

hive如何同步数据至hbase,大数据相关,hive,hbase,hadoop
最后看一下hbase中的表test:gdp中的数据:

hive如何同步数据至hbase,大数据相关,hive,hbase,hadoop
可以看到已经将hive中的数据同步到了habse中,再往下就可以通过java来访问hbase中的这张表了,就可以向处理mysql中的数据一样来执行对应的业务逻辑了。文章来源地址https://www.toymoban.com/news/detail-851741.html

# 是不是一定要有所失,才能有所悟

到了这里,关于hive中的数据同步到hbase的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据平台安装实验: ZooKeeper、Kafka、Hadoop、Hbase、Hive、Scala、Spark、Storm

    ​ 在大数据时代,存在很多开源的分布式数据采集、计算、存储技术,本实验将在熟练掌握几种常见Linux命令的基础上搭建几种常用的大数据采集、处理分析技术环境。 相关安装包下载: 链接:https://pan.baidu.com/s/1Wa2U3qstc54IAUCypcApSQ 提取码:lcd8 Hadoop大数据平台所需工具、软件

    2023年04月09日
    浏览(90)
  • 大数据期资料2023 Beta版 - Hadoop、HDFS、MapReduce、Hive、ZooKeeper、Kafka、HBase详解

    了解大数据概念、Hadoop、HDFS、MapReduce、Hive、ZooKeeper、Kafka、HBase等技术,包括特点、命令操作和启动关闭方法。获取2023年大数据资料Beta版。

    2024年02月06日
    浏览(238)
  • 大数据集群搭建全部过程(Vmware虚拟机、hadoop、zookeeper、hive、flume、hbase、spark、yarn)

    1.网关配置(参照文档) 注意事项:第一台虚拟机改了,改为centos 101 ,地址为192.168.181.130 网关依然是192.168.181.2,但是一定要注意,它在D盘的文件名称是Hadoop 101,后面重新搭建的会命名文件夹为hadoop 101,hadoop 102和hadoop 103,然后发到一个总的文件夹hadoop_03里面去 VMnet8的IP地址一定

    2024年02月02日
    浏览(100)
  • Hadoop Hbase Hive 版本对照一览

    官网内容记录,仅供参考

    2024年02月13日
    浏览(38)
  • Hadoop生态 | HDFS | Yarn | Hive | Hbase

    ⭐ 简单说两句 ⭐ 作者: 后端小知识 , CSDN后端领域新星创作者|阿里云专家博主 CSDN 个人主页 :后端小知识 🔎 GZH : 后端小知识 🎉 欢迎关注 🔎 点赞 👍 收藏 ⭐️ 留言 📝 进入大数据阶段就意味着进入NoSQL阶段,更多的是面向OLAP场景,即数据仓库、BI应用等。 大数据技

    2024年04月08日
    浏览(54)
  • Hadoop+Hive+Spark+Hbase开发环境练习

    1.练习一 1. 数据准备 在hdfs上创建文件夹,上传csv文件 [root@kb129 ~]# hdfs dfs -mkdir -p /app/data/exam 查看csv文件行数 [root@kb129 ~]# hdfs dfs -cat /app/data/exam/meituan_waimai_meishi.csv | wc -l 2. 分别使用 RDD和 Spark SQL 完成以下分析(不用考虑数据去重) 开启spark shell [root@kb129 ~]# spark-shell (1)加载

    2024年02月03日
    浏览(52)
  • 基于Hadoop的MapReduce网站日志大数据分析(含预处理MapReduce程序、hdfs、flume、sqoop、hive、mysql、hbase组件、echarts)

    需要本项目的可以私信博主!!! 本项目包含:PPT,可视化代码,项目源码,配套Hadoop环境(解压可视化),shell脚本,MapReduce代码,文档以及相关说明教程,大数据集! 本文介绍了一种基于Hadoop的网站日志大数据分析方法。本项目首先将网站日志上传到HDFS分布式文件系统

    2024年02月16日
    浏览(65)
  • Linux安装Zookeeper、Hadoop、Hive、Hbase全家桶系列

    目录 Linux安装配置Zookeeper Linux安装配置Hadoop Linux安装Hbase 新建文件夹 下载到指定文件夹 官网 Apache ZooKeeper 解压到指定文件 查看 进入目录 创建日志/数据文件夹 复制配置文件 使用vim进入zoo.cfg 修改为如下:  记录一下zookeeper的路径然后 刷新资源 运行 查看状态 创建文件夹加

    2024年02月14日
    浏览(50)
  • Zookeeper+Hadoop+Spark+Flink+Kafka+Hbase+Hive

    Zookeeper+Hadoop+Spark+Flink+Kafka+Hbase+Hive 完全分布式高可用集群搭建 下载 https://archive.apache.org/dist/  Mysql下载地址 Index of /MySQL/Downloads/ 我最终选择 Zookeeper3.7.1 +Hadoop3.3.5 + Spark-3.2.4 + Flink-1.16.1 + Kafka2.12-3.4.0 + HBase2.4.17 + Hive3.1.3  +JDK1.8.0_391  IP规划 IP hostname 192.168.1.5 node1 192.168.1.6 node

    2024年01月23日
    浏览(52)
  • Hadoop生态圈中的数据同步工具SQOOP

    ) 在大部分常见的软件中,比如淘宝、拼多多…,网站都会产生大量的数据 电商网站:订单数据、商品数据、分类数据、用户信息数据、用户行为数据等等 课程网站:订单数据、视频数据、课程数据、用户信息数据等等 … 虽然说不同领域的数据格式和数据含义不一样,但是

    2024年02月07日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包