第1节 IMPALA:8、impala的shell交互窗口使用

impala当中的元数据的同步的问题
impala当中创建的数据库表,直接就可以看得到,不用刷新
hive当中创建的数据库表,需要刷新元数据才能够看得到

因为impala的catalog的服务,我们需要通过刷新机制,将hive当中表的元数据信息,保存到catalog里面来,impala才能够看得到

=====================================================

9、impala的使用

9.1、impala-shell语法

9.1.1、impala-shell的外部命令参数语法

不需要进入到impala-shell交互命令行当中即可执行的命令参数

impala-shell后面执行的时候可以带很多参数:

-h  查看帮助文档

impala-shell -h

-r  刷新整个元数据,数据量大的时候,比较消耗服务器性能

impala-shell -r

扫描二维码关注公众号,回复: 6760933 查看本文章

-B  去格式化,查询大量数据可以提高性能

   --print_header  去格式化显示列名

  --output_delimiter  指定分隔符

-v  查看对应版本

impala-shell -v -V

-f  执行查询文件

              --query_file   指定查询文件

cd /export/servers

vim impala-shell.sql

use weblog;

select * from ods_click_pageviews limit 10;

 

通过-f 参数来执行查询文件

impala-shell -f impala-shell.sql

-i  连接到impalad

              --impalad  指定impalad去执行任务

-o  保存执行结果到文件当中去

              --output_file  指定输出文件名

impala-shell -f impala-shell.sql -o hello.txt

-p  显示查询计划

impala-shell -f impala-shell.sql -p

-q 不使用impala-shell进行查询

9.1.2、impala-shell的内部命令行参数语法

进入impala-shell命令行之后可以执行的语法

help命令

帮助文档

connect命令

connect  hostname 连接到某一台机器上面去执行

refresh 命令

refresh dbname.tablename  增量刷新,刷新某一张表的元数据,主要用于刷新hive当中数据表里面的数据改变的情况

refresh mydb.stu;

invalidate  metadata 命令:

invalidate  metadata全量刷新,性能消耗较大,主要用于hive当中新建数据库或者数据库表的时候来进行刷新

explain 命令:

用于查看sql语句的执行计划

explain select * from stu;

explain的值可以设置成0,1,2,3等几个值,其中3级别是最高的,可以打印出最全的信息

set explain_level=3;

profile命令:

执行sql语句之后执行,可以打印出更加详细的执行步骤,

主要用于查询结果的查看,集群的调优等

select * from stu;

profile;

注意:在hive窗口当中插入的数据或者新建的数据库或者数据库表,在impala当中是不可直接查询到的,需要刷新数据库,在impala-shell当中插入的数据,在impala当中是可以直接查询到的,不需要刷新数据库,其中使用的就是catalog这个服务的功能实现的,catalog是impala1.2版本之后增加的模块功能,主要作用就是同步impala之间的元数据

猜你喜欢

转载自www.cnblogs.com/mediocreWorld/p/11141153.html