首页 > 系统相关 >Impala003-Impala shell

Impala003-Impala shell

时间:2023-04-03 21:36:08浏览次数:41  
标签:shell Impala003 name impala t1 txt Impala


本文主要介绍Impala shell命令

1、-h 外能帮助



格式:$ impala-shell -h



2、-r  刷新整个元数据*


(Refresh Impala catalog after connecting,默认为false)



2.1 在hive创建表t1
hive> create table t1(id int ,name string);
OK
Time taken: 0.423 seconds



2.2 通过impala-shell 查看对应的表,发现不存在,原因是需要通过手动涮新hive metadata


 show tables;


 $ impala-shell -r



执行后,在通过show tables 可以查看到刚才的表



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



3.1 在impala shell中 初始化数据


 insert into table t1(id,name) values(100,'sfl');
 insert into table t1(id,name) values(101,'zs');
 insert into table t1(id,name) values(102,'ls');


3.2 在impala 查看数据和hive中查看数据


select * from t1;


发现结果完成一致,原因就是impala和hive中存储的数据都存在同一个元数据中



3.3 通过-B 演示 


$ impala-shell  -B  -q  'select * from shenfuli.t1;' -o a.txt


$ more a.txt
102     ls
100     sfl
101     zs


通过-B发现,输出格式通过Hive的输出内容一致,由于-r是对整个元数据库进行刷新,实际生产环境中不建议这么用。



3.4 通过-B --print_header 可以显示列的名称


$ impala-shell -B --print_header -q 'select * from shenfuli.t1;' -o c.txt
$ more c.txt
id      name
100     sfl
102     ls
101     zs



4、  -v    查看对应版本


$ impala-shell -v
Impala Shell v2.2.0-cdh5.4.4 (a13d3c6) built on Mon Jul  6 16:57:34 PDT 2015


$ impala-shell
Starting Impala Shell without Kerberos authentication
Connected to crxy168:21000
Server version:  impalad version 2.2.0-cdh5.4.4 RELEASE (build a13d3c6b203e79a284b509df821bffbe229e6dc3)
Welcome to the Impala shell. Press TAB twice to see a list of available commands.

Copyright (c) 2012 Cloudera, Inc. All rights reserved.

(Shell build version:  Impala Shell v2.2.0-cdh5.4.4




注: 一般情况下升级Impala后,需要检查Impala version和Impala shell version,两个版本必须一致,否则可能会出现查询异常的情况。



5、  -f    执行查询文件*


       --query_file 指定查询文件


$ cat impala-sql
select * from shenfuli.t1;
$ impala-shell  -f impala-sql ;
$ impala-shell  -B  -f impala-sql -o d.txt;
$ more d.txt
102     ls
100     sfl
101     zs





说明: 实际工作中的SQL语句都是通过写到一个文件中,然后通过-f命令调用。





6、 -o   保存执行结果到文件*

       --output_file   指定输出文件名




7、 -q    不进入impala-shell执行查询



$ impala-shell -q 'select * from shenfuli.t1' --output_file=b.txt



$ more b.txt
+-----+------+
| id  | name |
+-----+------+
| 102 | ls   |
| 100 | sfl  |
| 101 | zs   |
+-----+------+







8、 -p    显示执行计划
      --quiet    不显示多余信息



$ impala-shell -q 'select * from shenfuli.t1;'  -p >1.txt





说明: 文件1.txt 含有详细的执行计划,通过该文件可以分析SQL,优化SQL语句。





9、刷新某个表元数据
    refresh    <tablename>       属于增量刷新





说明: 相比-r,通过refresh 一个表更加使用,并且属于增量刷新。





10、显示一个查询的执行计划及各步骤信息
    explain  <sql>    可以设置set explain_level,总共分成4个级别,分别0-3。数字越大,输出信息越详细







11、显示查询底层信息(底层执行计划,用于性能优化)
      profile  在查询完成之后执行




在集群中运行一段时间发现执行变慢,可以只用profile来检查,步骤:






标签:shell,Impala003,name,impala,t1,txt,Impala
From: https://blog.51cto.com/u_14361901/6167556

相关文章

  • 1005--HBase操作实战(HBase Shell命令行模式)
    通过HBase命令行,创建一张表,用户存储用户信息,其中包括基本信息和额外信息HBaseshell下所有命令可以使用:help“cmd”进行了解1、创建表create't_person',{NAME=>'basic_info'},{NAME=>'extra_info'}2、表中存储数据put't_person','g201425001','ba......
  • shell命令调用http接口(curl方式)
    shell命令调用http接口(curl方式) 样例1、curl-H"Content-Length:0"-XGET"http://127.0.0.1:8080"2、curl-H"Content-Type:application/json"-H"connection:Keep-Alive"-s-XPOST-d'{"id":"1"......
  • shellcode获取MessageBoxA的地址
    _asm{pushebpmoveax,fs:[30h];获得PEB地址moveax,[eax+0ch];获得LDR地址moveax,[eax+14h];获得PEB_LDR_DATA中InMemoryOrderModuleList的Flinkmovecx,eax;因为eax中的Flink也就是等于LDR_DATA_TABLE_ENTRY......
  • 如何XShell 通过中转服务器直接连接目标服务器
    一、使用代理方式首先填写连接信息填写用户身份验证信息添加ssh隧道(注意此处的端口要是未用的端口)添加代理服务器(此处的端口与隧道端口一致)连接代理服务器这时就可以连接到目标服务器了,但是要注意的是,如果目标服务器有设置防火墙规则,对端口要加入出入栈规则才可以正常使用。......
  • powershell path
    https://github.com/ThePoShWolf/Utilities/blob/master/Misc/Set-PathVariable.ps1<#.SYNOPSIS ModifythePATHenvironmentvariable..DESCRIPTION Set-PathVariableallowsyoutoaddorremovepathstoyourPATHvariableatthespecifiedscopewithlogic......
  • 大数据学习之Hbase shell的基本操作
    HBase的命令行工具,最简单的接口,适合HBase管理使用,可以使用shell命令来查询HBase中数据的详细情况。安装完HBase之后,启动hadoop集群(利用hdfs存储),启动zookeeper,使用start-hbase.sh命令开启hbase服务,最后在shell中执行hbaseshell就可以进入命令行界面Habseshell的help对语法的介绍......
  • Shell 输入/输出重定向
    Shell输入/输出重定向大多数UNIX系统命令从你的终端接受输入并将所产生的输出发送回到您的终端。一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端。同样,一个命令通常将其输出写入到标准输出,默认情况下,这也是你的终端。重定向命令列表如下:命令......
  • Shell 文件包含
    Shell文件包含和其他语言一样,Shell也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。这就是可以解决怎么引入公共函数了注意source未必有效,因为有些OS默认的是sh而非bashShell文件包含的语法格式如下:.filename#注意点号(.)和文件名中......
  • Shell 函数
    Shell函数各种语言都有函数或者别的称呼,说白了就是封装一个可重复使用的代码快,起一个名称带一些参数,给一个返回值。linuxshell可以用户定义函数,然后在shell脚本中可以随便调用。shell中函数的定义格式如下:[function]funname[()]{action;[returnint;]}......
  • Shell echo命令
    Shellecho命令Shell的echo指令用于字符串的输出。命令格式:shellstring的字面量有点特殊,核心注意单引号和双引号的区别echostring您可以使用echo实现更复杂的输出格式控制。1.显示普通字符串:echo"Itisatest"这里的双引号完全可以省略,以下命令与上面实例效果一......