Impala Shell 简单命令

目录

1.更新元数据

2.对查询结果去格式化

3.查询结果存储到文件

4.去格式化后指定分隔符

5.-p或者--show-profiles:显示查询的执行计划(与EXPLAIN语句输出相同)和每个查询语句底层的执行步骤的详细信息.

6.指定主机名连接 (-i)

7.执行查询语句

8.指定脚本文件执行SQL

9.-r或者--refresh_after_connect

10 -k或者-kerberos

11.-s或者-kerberos_service_name

12.-V或者-verbose

13.-quiet

14.-v或者-version

15.-c:

16.-d或者--database-

17.表的统计分析 

 18.字段的统计分析


 

1.更新元数据

invalidate metadata;
对于通过Hive加载,插入,改变的数据操作,或者通过hdfs命令对数据文件进行的变更操作,
Impala都无法自动识别数据的变更情况.如果想让Impala识别到这些变化,
在连接到impala-shell后,首先要做的操作就是REFRESH table_name,该语句会让lmpala识别到数据的变更情况.

2.对查询结果去格式化

> impala-shell -B

3.查询结果存储到文件

  • 使用 -o 将查询结果保存到txt文件中后会提示编码问题,如下
[impala@test101 ~]$ impala-shell -o 0502.txt -q ' select * from sina_weibo limit 1;'
Starting Impala Shell without Kerberos authentication
Connected to test101:21000
Server version: impalad version 2.11.0-cdh5.14.0 RELEASE (build d68206561bce6b26762d62c01a78e6cd27aa7690)
Query: select * from sina_weibo limit 1
Query submitted at: 2018-05-02 17:19:30 (Coordinator: http://test101:25000)
Query progress can be monitored at: http://test101:25000/query_plan?query_id=2e4528016c46ebfa:4ce8e72a00000000
Unknown Exception : 'ascii' codec can't encode characters in position 1834-1835: ordinal not in range(128)
Could not execute command: select * from sina_weibo limit 1
  • 解决方案
1. 查找我们执行的impala-shell具体内容[root@test101 impala]# whereis impala-shell
impala-shell: /usr/bin/impala-shell
[root@test101 impala]# vim /usr/bin/impala-shell2. 我们发现impala-shell会执行 impala_shell.py 
PYTHONPATH="${EGG_PATH}${SHELL_HOME}/gen-py:${SHELL_HOME}/lib:${PYTHONPATH}" \exec python ${SHELL_HOME}/impala_shell.py "$@"3. 查找impala_shell.py ,设置编码为utf-8
[root@test101 impala]# find / -name 'impala_shell.py'
/opt/cloudera/parcels/CDH-5.14.0-1.cdh5.14.0.p0.24/lib/impala-shell/impala_shell.py> import sys  
> reload(sys)  
> sys.setdefaultencoding('utf-8')  4. 再次执行结果出来

4.去格式化后指定分隔符

--output delimiter-:该选项对使用-B选项去格式化输出的查询结果指定各字段间的分,隔符.默认的分隔符为制表键('\t'),如果输出字段中包含了分隔符字符,这个字段将使用/进行 转义.

[test101:21000] > select uid,gender,city from offline_user2 limit 5;
Query: select uid,gender,city from offline_user2 limit 5
Query submitted at: 2018-05-04 20:23:52 (Coordinator: http://test101:25000)
Query progress can be monitored at: http://test101:25000/query_plan?query_id=254620554e7f3de7:3b47e8e600000000
5887898482,女,海口
6013580396,男,NULL
3485070663,男,NULL
6081748563,男,深圳
5903926726,男,商丘
Fetched 5 row(s) in 0.19s

5.-p或者--show-profiles:显示查询的执行计划(与EXPLAIN语句输出相同)和每个查询语句底层的执行步骤的详细信息.

6.指定主机名连接 (-i)

-i或者-imapad-:后面接主机名用来指定连接到指定的impalad节点.
默认的连接端口为21000,我们可以使用该命令连接到集群中任何一台impalad节点上.
如果Impala启动时使用了备用端口,则需要使用--fe-port选项标识.

7.执行查询语句

-q或者-query-:该选项用于执行一个查询语句或者shell命令.
Impala不必等待查询或者shell执行结束即可返回.这里的查询仅限于像SELECT, CREATE TABLE, SHOW TABLES等单条的语句.
因为USE语句是一条单独的SQL语句,而这个选项只能指定单条语句,
所以如果对象没有前缀只能访问default数据库,如果要访问其他数据库就必须指定数据库名称作为前缀.

8.指定脚本文件执行SQL

-f或者-query-file-:这个选项后面可以跟一个SQL查询脚本文件,
脚本文件中的SQL必须使用";"来分隔.> cat query.sql
use default;
select  from student;
select mf, count (*) from student group by mf;
> impala-shell -f query.sql

9.-r或者--refresh_after_connect

连接后刷新Impala元数据信息.效果和连接之后执行REFRESH语句相同.

10 -k或者-kerberos

该选项用来指定当shell连接到impalad节点时使用kerberos身份验证.但是如果impalad节点本身没有启用kerberos,连接将会报错.

11.-s或者-kerberos_service_name

该选项后面跟kerberos服务名称让impala-shell验证一个特定的impalad服务.如果没有指定kerberos服务名称,将使用impala作为默认的名称.如果
该选项用于一个不支持kerberos的连接,将会返回错误.

12.-V或者-verbose

启用详细信息输出.

13.-quiet

禁用详细信息输出.

14.-v或者-version

显示版本信息.

15.-c:

如果查询失败继续执行.

16.-d或者--database-

该选项后面跟上数据库的名称用于连接到指定的数据库.该选项的效果和连接上之后执行USE的效果相同.如果不指定该选项,将连接到系统默认的default数据库.

17.表的统计分析 

[test03:21000] namespace1> show table stats tableName;
Query: show table stats tableName
+-----------------+----------------------------------+------------+----------+
| Region Location | Start RowKey                     | Est. #Rows | Size     |
+-----------------+----------------------------------+------------+----------+
| test01          |                                  | 1290769    | 833.00MB |
| test01          | 3c9f93135954c1c22bba09a549b9db4d | 1288975    | 904.00MB |
| test02          | 7ff81356e5d100ca91cda300bd4b11ed | 1191259    | 890.00MB |
| test03          | c1c3ace151cad4ebb62f55d952b17d83 | 1183541    | 855.00MB |
| Total           |                                  | 4954544    | 3.40GB   |
+-----------------+----------------------------------+------------+----------+
Fetched 5 row(s) in 0.57s

18.字段的统计分析

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CDH邮件预警

转载自:http://blog.51cto.com/feature09/2055835 在CDH的7180页面找到Cloudera Managerment Service 如图所示: 在Configuration中,搜索alert 设置接收信息的邮箱。 设置内容都在图片上: 添加邮件页眉说明,第一行显…

结构光双目视觉测距原理

结构光视觉技术是一种主动投影式的三维测量技术,通过使用投影仪和相机组成的系统来对物体进行三维测量 系统结构: 硬件系统: 常见编码方法: 结构光图案编码 常用的是格雷码和传统的二进制码相比,格雷码的编码数中任意…

c++静态成员函数为什么不能为虚函数?

知乎用户 three passions govern my life2 人赞同可以把静态成员函数看作是“命名空间受限的普通函数”,所以它不能有运行时多态发布于 2015-06-23 添加评论 感谢 分享收藏 • 没有帮助 • 举报 • 作者保留权利Elvis Wang C程序员转型Java中6 人赞同其实我觉得这个…

如何成为一个优秀的高级C++程序员

C这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它 语言较高。而它的学习难度,主要来自于它的复杂性。现在C的使用范围比以前已经少了很多,java、C#、python等语言在很多方面已经可以代替 C。但是也有很多地方是其…

c++标准库 及 命名空间std

1、命名空间std   C标准中引入命名空间的概念,是为了解决不同模块或者函数库中相同标识符冲突的问题。有了命名空间的概念,标识符就被限制在特定的范围(函数)内,不会引起命名冲突。最典型的例子就是std命名空间,C标准库中所有标…

相机标定原理和opencv代码解析

1.单目标定 单应矩阵 设三维空间点的齐次坐标,对应的图像坐标为 他们满足一下关系: s为尺度因子,K为内参矩阵 R和T旋转平移矩阵统称为外参 假设我们提供K个棋盘图像,每个棋盘有N个角点,于是我们拥有2KN个约束方程。与此同时&am…

HUE 提交Schedule 时区问题

1.配置如下,每天定时 14:02 启动 2.运行后,任务状态提示,时间变成了06:02:00 3.修改HUE的时区配置 修改后 3.重启 4.然后执行发现,还是不起作用,后排查了一下oozie问题,发现hue的时区配置对oozie无法生效…

cuda的global memory介绍

CUDA Memory Model 对于程序员来说,memory可以分为下面两类: Programmable:我们可以灵活操作的部分。Non-programmable:不能操作,由一套自动机制来达到很好的性能。 在CPU的存储结构中,L1和L2 cache都是n…

Mybase到期 破解

1.找到mybase安装目录 C:\Users\Zsh\AppData\Local\wjjsoft\nyfedit6 2.打开nyfedit.ini 3. 内容中查找 App.UserLic.FirstUseOn 删除 4.保存打开mybase即可

Android中给按钮同时设置背景和圆角示例代码

前言 最近在做按钮的时候遇到在给按钮设置一张图片作为背景的同时还要自己定义圆角,最简单的做法就是直接切张圆角图作为按钮就可以了,但是如果不这样该怎么办呢,看代码: 下面来看效果图 一、先建一个圆角的shape文件:…

awk使用方法

awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 awk命令形式: awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’…

cude的__ldg使用

一般使用__ldg是更好的选择。通过constant缓存存储的数据必须相对较小而且必须获取同一个地址以便获取最佳性能,相反,只读缓存则可以存放较大的数据,且不必地址一致。 __global__ void transpose2(const real* A, real* B, const int N) {co…

cuda的shared momery

CUDA SHARED MEMORY 在global Memory部分,数据对齐和连续是很重要的话题,当使用L1的时候,对齐问题可以忽略,但是非连续的获取内存依然会降低性能。依赖于算法本质,某些情况下,非连续访问是不可避免的。使用…

图的表示方法和C++实现

图的表示最长用的两种方法是&#xff1a; 1&#xff09;、邻接矩阵表示法 2&#xff09;、邻接表表示 下面是两种构造图的方法 1&#xff09;邻接矩阵&#xff1a; [cpp] view plaincopy#include <iostream> #include <vector> using namespace std; //枚…

成为专业程序员的 6 个技巧

1.在你责怪别人之前&#xff0c;先检查自己的代码 先想一想自己的假设和其他人的假设。来自不同供应商的工具可能内置不同的假设&#xff0c;即便是相同的供应商对于不同的工具&#xff0c;其假设也可能不同。 当其他人正在报告一个你不能重复的问题的时候&#xff0c;去看看他…

HUE集成Hbase

目录 一、Hbase开启代理用户相关配置 二、代理用户授权认证 三、检查HUE在hue.ini文件中指定的HBASE的本地配置目录 一、Hbase开启代理用户相关配置 Cloudera Manager修改Hbase配置或Hbase配置文件-hbase-site.xml <property><name>hbase.thrift.support.proxyu…

OpenCV中cornerSubPixel()亚像素求精原理

采用的方法为最小二乘法&#xff1a; 首先我们要构建以下方程&#xff1a; 我们讨论角点的情况&#xff1a; q是我们要求的角点 p0和p1为q周围的点 &#xff08;q-pi&#xff09;为一个向量 Gi为pi处的梯度 所以满足一下公式 Gi*(q-pi)0 有以下两种情况&#xff1a; &a…

HBase 2.0 之修复工具 HBCK2 运维指南

HBase 2.0 之修复工具 HBCK2 运维指南 转载自&#xff1a;https://mp.weixin.qq.com/s/GVMWwB1WsKcdvZGfvX1lcA?spma2c4e.11153940.blogcont683107.11.49d762a815MegW 概述 目前社区已经发布了 HBase 的 2.0 版本&#xff0c;很多公司都希望去尝试新版本上的新功能&#xff0c…

html中article、section、aside的区别与联系

首先看看我做的图(PS:有点丑)&#xff0c;通俗易懂

优秀的程序员都避开了哪些坑?

程序员薪水有高有低&#xff0c;有的人一个月可能拿30K、50K&#xff0c;有的人可能只有2K、3K。同样有五年工作经验的程序员&#xff0c;可能一个人每月拿20K&#xff0c;一个拿5K。是什么因素导致了这种差异&#xff1f;我特意总结了容易导致薪水低的九大行为表现&#xff0c…