Impala和hive数据同步

[root@bd-130 ~]# beeline -u 'jdbc:hive2://192.X.X.X:10000/default' -n hive -p hive

首先,我们在hive命令行执行show databases;可以看到有以下几个数据库:

Impala和hive数据同步_第1张图片

 

然后,我们在impala同样执行show databases;可以看到: 

Impala和hive数据同步_第2张图片

 

目前的数据库都是一样的(除系统外)。 

下面,我们在hive里面执行create database qyk_test;创建一个数据库,如下: 

Impala和hive数据同步_第3张图片

 

然后,我们使用qyk_test这个数据库创建一张表,执行

create table user_info(id bigint, account string, name string, age int)

row format delimited fields terminated by '\t';

如下:

Impala和hive数据同步_第4张图片

 

Impala和hive数据同步_第5张图片

 

 

此时,我们已经在hive这边创建好了,然后直接在impala这边执行show databases;可以看到: 

Impala和hive数据同步_第6张图片

连qyk_test这个数据库都没有。 

接下来,我们在impala执行INVALIDATE METADATA;

然后再查询可以看到: 

Impala和hive数据同步_第7张图片

 

Impala和hive数据同步_第8张图片

 

数据库和表都会同步过来。 

总结: 

如果在hive里面做了新增、删除数据库、表或者数据等更新操作,需要执行在impala里面执行INVALIDATE METADATA;

命令才能将hive的数据同步impala; 

如果直接在impala里面新增、删除数据库、表或者数据,会自动同步到hive,无需执行任何命令。

你可能感兴趣的:(Hadoop生态,数据处理工具)