文档章节

hbase与hive的数据同步以及hive与impala的数据同步

Idea
 Idea
发布于 2017/03/02 11:40
字数 675
阅读 311
收藏 0

一、impala与hive的数据同步

首先,我们在hive命令行执行show databases;可以看到有以下几个数据库: 
这里写图片描述 
然后,我们在impala同样执行show databases;可以看到: 
这里写图片描述 
目前的数据库都是一样的。 
下面,我们在hive里面执行create database qyk_test;创建一个数据库,如下: 
这里写图片描述 
然后,我们使用qyk_test这个数据库创建一张表,执行create table user_info(id bigint, account string, name string, age int) row format delimited fields terminated by ‘\t’;如下: 
这里写图片描述 
此时,我们已经在hive这边创建好了,然后直接在impala这边执行show databases;可以看到: 
这里写图片描述 
连qyk_test这个数据库都没有。 
接下来,我们在impala执行INVALIDATE METADATA;然后再查询可以看到: 
这里写图片描述 
数据库和表都会同步过来。 
好了,笔者来做个总结: 
如果在hive里面做了新增、删除数据库、表或者数据等更新操作,需要执行在impala里面执行INVALIDATE METADATA;命令才能将hive的数据同步impala; 
如果直接在impala里面新增、删除数据库、表或者数据,会自动同步到hive,无需执行任何命令。

二、hive与hbase的数据同步

首先,我们在hbase中创建一张表create ‘user_sysc’, {NAME => ‘info’},然后,我们在hive中执行

CREATE EXTERNAL TABLE user_sysc (key int, value string) ROW FORMAT SERDE 'org.apache.hadoop.hive.hbase.HBaseSerDe' 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES ( 'serialization.format'='\t', 'hbase.columns.mapping'=':key,info:value', 'field.delim'='\t')
TBLPROPERTIES ('hbase.table.name'='user_sysc')
  •  

创建一张外部表指向hbase中的表,然后,我们在hive执行insert into table user_sysc select id,name from user_info;入一步份数据到user_sysc可以看到: 
这里写图片描述 
然后,我们在hbase里面执行scan ‘user_sysc’可以看到: 
这里写图片描述 
接下来,我们在hbase里面执行deleteall ‘user_sysc’, ‘11’删掉一条数据,如下: 
这里写图片描述 
然后,我在hive里面查询看看,如下: 
这里写图片描述 
说明自动同步过来了。因此,只要创建hive表时,与hbase中的表做了映射,表名和字段名可以不一致,之后无论在hbase中新增删除数据还是在hive中,都会自动同步。 
如果在hive里面是创建的外部表需要在hbase中先创建,内部表则会在hbase中自动创建指定的表名。

因为hive不支持删除等操作,而hbase里面比较方便,所以我们可以采用这种方式。

本文转载自:

上一篇: kafka
下一篇: hive的简单使用
Idea
粉丝 17
博文 113
码字总数 75839
作品 0
青岛
CTO(技术副总裁)
私信 提问
sqoop导入数据到Base并同步hive与impala

使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 基础环境 Sqool和Hive、HBase简介 测试Sqoop 使用Sqoop从MySQL导入数据到Hive 使用Sqoop从MySQL导入数据到HBase 关于Sqoop2 综上所述 其他...

hblt-j
2018/07/20
194
0
cdh4 hadoop,hive,impala,hbase本地库搭建及安装

--hadoop文件位置: log目录 : /var/log/hadoop-hdfs /var/log/hadoop-mapreduce /var/log/hbase /var/log/hive /var/log/hive/var/log/impala 安装目录: /usr/lib 启动命令目录: /etc/ini......

凡16
2014/01/05
1K
6
Cloudera Labs中的Phoenix

Fayson发表于Hadoop实操订阅 607 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 1.导读 Cloudera Labs在2016-06-27宣布打包了Apache Phoenix项目,版本为4.7.0,并基于C...

hblt-j
01/15
24
0
HBase 和 Hive 的差别是什么,各自适用在什么场景中?

https://www.zhihu.com/question/21677041/answer/185664626 先放结论:Hbase和Hive在大数据架构中处在不同位置: Hbase主要解决实时数据查询问题 Hive主要解决数据处理和计算问题,一般是配...

chenhao_asd
2018/04/24
0
0
Kylin集群部署和cube使用

Kylin集群部署和cube使用 安装集群环境 节点 Kylin节点模式 Ip 内存 磁盘 Node1 All 192.167.71.11 2G 80G Node2 query 192.168.71.12 1.5G 80G Node3 query 192.168.71.13 1.5G 80G Kylin工......

仔仔1993
2018/07/05
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
36分钟前
39
0
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
9
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部