一、impala-shell
1、启动Impala
[root@chb2 ~]# impala-shell
2、查看数据库
[chb2:21000] default> show databases;
3、打开数据库
[chb2:21000] default> use test;
4.显示数据库中的表
[chb2:21000] test> show tables;
5.创建一张student表
[chb2:21000] test> create table student(id int, name string) row format delimited fields terminated by '\t';
6.向表中导入数据
load data inpath '/tmp/stu' into table student;
注意:
-
1) 关闭(修改hdfs的配置dfs.permissions为false)或修改hdfs的权限,否则impala没有写的权限
-
2) Impala不支持将本地文件导入到表中
7、查询
[chb1:21000] test> select * from student;
8、退出impala [chb1:21000] test> quit;
二、外部Impala-Shellemsp; 就是不用进入impala-shell命令行就可以执行的命令参数,
impala-shell -h 查询帮助
impala-shell -q 可以直接执行查询语句
impala-shell -f 可以执行sql文件
impala-shell -i 可以指定impalad的主机
impala-shell -o 保存执行结果到文件中
三、内部命令
进入impala-shell命令后执行的语句
impala中创建表可以直接同步到hive中, 但是hive中创建表,需要执行同步命令,将元数据同步到impala的Statestore。
3.1.1、增量同步refresh dbname.tablename
增量刷新一张表的元数据,主要用于刷新hive当中数据表里面的数据改变的情况。
invalidate metadata
全量刷新,性能消耗大,主要用于新建数据库或者新建表的时候,进行刷新。