Impala-1
Impala相关操作上
阅读目录
序
上一篇,我们介绍Impala的介绍及安装。
下面我们开始继续进一步的了解Impala的相关操作。
数据库相关
一:创建
在这里,数据库就是一个目录结构,当然对于的元数据还会持久化到关系型数据库。
create database dbtest;
二:查看
可以查看当前可用的数据库。
show databases;
三:删除
删除制定的数据库,会删除数据库中的表,及数据,hdfs文件。数据库对于的hdfs目录结构也会被删除。
drop database dbtest1;
四:切换当前数据库
默认的是default数据库,切换了后,可以直接使用当前数据库中的表。
use dbtest;
表相关
一:创建
create table student
(
id string ,
name string ,
sex string ,
birthday timestamp
);
二:创建分区表
分区表可以根据存放数据,这样在分析的时候,可以只使用对应分区的数据,可以大大的降低检索的数据量,提高分析性能。
create table student_p
(
id string ,
name string ,
sex string ,
birthday timestamp
)
partitioned by (year string,month string,day string);这里定义了year,month,day 这3层分区。
三:查看表明细
显示表的元数据,包括列名,类型等等。
desc student;
formatted参数可以显示更多信息,显示格式与hive类似。包括底层详细信息,创建时间,格式,hdfs文件位置等等。
desc formatted student_p;
四:查看当前数据库已有的表
show tables;
五:HDFS目录
可以看到在dbtest.db的目录下有两个我们建好表的目录。
六:修改表
ALTER TABLE 语句用来修改现有表的结构或属性。在 Impala 里,这是一个逻辑操作,更新了 Impala 和 Hive 共用的 metastore 数据库中表的元数据; ALTER TABLE 语句不会对实际的数据文件进行重写、移动等操作。因此,你可能需要相应的物理文件系统操作才能实现移动数据文件到不同的 HDFS 目录,重写数据文件来包含其他字段,或转换成不同的文件格式。
七:重命名表
alter table student rename to student1;
对于内部表,这一操作实际地修改了包含数据文件的 HDFS 目录名;原始目录将不再存在。
八:增加列
alter table student1 add columns (addr string);
九:替换列
alter table student1 replace columns(id int,name string, sex string,tel int);当替换列时,原有列的定义都被废弃。你可能会在收到一组新的有不同数据类型或不同顺序的列的数据文件时使用这一技术(数据文件会被保留,因此当新列与旧列不兼容时,需要在执行进一步的查询前,使用 INSERT OVERWRITE 或 LOAD DATA OVERWRITE 语句替换所有的数据)。
可以看到。我们将原有列的结构,类型做了很大的替换。
十:修改列
修改列可以改变列的名字和类型
alter table student1 change id idstr string;
十一:删除列
alter table student1 drop tel;
十二:修改文件格式
alter table student1 set fileformat parquet;因为本操作只是修改表的元数据,对现存的数据,你必须使用 Impala 之外的 Hadoop 技术对已有的数据进行转换。之后再在 Impala 中使用 INSERT 语句创建的数据将使用新的格式。你不能指定文本文件的分隔符;文本文件的分隔符必须是逗号。
十三:增加分区
alter table student_p add partition(year='2017',month='07',day='24');可以看到hdfs中student_p的下面有个3层目录结构。
重复上面增加分区的操作,分别添加22,23日的分区。
十四:删除分区
删除day=22的分区。
alter table student_p drop partition(year='2017',month='07',day='22');可以看到该表只有23,24两个分区。hdfs对应的目录会被删除。所以该分区的实际文件也会被删除。
十五:查看表的统计状态
show table stats student_p;上述语句中使用到这个,可以看到每个分区的状态,如果有数据,还会统计行数,文件数,大小等等。
十六:查看表的列统计
show column stats student_p;
![]()
十七:采集表的统计
compute stats student_p;采集相关表和相关列的统计情况。COMPUTE STATS 语句是从底层向上构建,以提高可用性和用户友好度。你可以运行一个单独的 Impala COMPUTE STATS 语句来采集包括 table 和 column 的统计信息,而不是为表和列的统计信息分别运行 Hive ANALYZE TABLE 语句。
COMPUTE STATS 也可以采集 HBase 表的信息。采集的 HBase 表的统计信息与 HDFS-backed 表的有所不同,但当 HBase 表执行连接查询时,统计信息仍被用于优化。
COMPUTE STATS执行完后,这些统计信息被存放在 metastore 数据库中,可以为impala用来优化查询。
--------------------------------------------------------------------
到此,本章节的内容讲述完毕。
系列索引


Impala-1的更多相关文章
- 安装Impala
1.默认安装好hadoop并且能正常启动(只需hdfs即可)2.安装如下rpm包(需要root权限 注意顺序) bigtop-utils-0.7.0+cdh5.8.2+0-1.cdh5.8.2.p0. ...
- 《开源大数据分析引擎Impala实战》目录
当当网图书信息: http://product.dangdang.com/23648533.html <开源大数据分析引擎Impala实战>目录 第1章 Impala概述.安装与配置.. ...
- 运行impala tpch
1.安装git和下载tpc-h-impala脚步 [root@ip-172-31-34-31 ~]# yum install git [root@ip-172-31-34-31 ~]# git clo ...
- TPCH Benchmark with Impala
1. 生成测试数据在TPC-H的官网http://www.tpc.org/tpch/上下载dbgen工具,生成数据http://www.tpc.org/tpch/spec/tpch_2_17_0.zi ...
- 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作
CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...
- 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)
CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...
- 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作
http://www.cnblogs.com/wgp13x/p/4934521.html 内容一样,样式好的版本. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据 ...
- Hadoop 之Impala
impala 是基于hive的大数据实时分析查询引擎,直接使用Hive的元数据库metadata意味着impala元数据都存储在hive的metadstore中并且impala兼容hive的 sql解 ...
- 在脚本中刷新impala元信息
刷新impala元信息 impala-shell -q 'invalidate metadata' -i hslave1 impala-shell -q 'select count(*) from p ...
- java通过jdbc连接impala
下载所需jar包:http://www.cloudera.com/downloads/connectors/impala/jdbc/2-5-28.html 选择使用impalajdbc41版本 imp ...
随机推荐
- HTTP头部信息解释分析
HTTP 头部解释 1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type. 2. Accept-Chars ...
- 快速玩转linux(1)
快速上手Linux玩转典型应用 mark 大牛都会使用Linux, Linux命令是行业要求. 商业服务器基本都是linux 开源软件都先支持Linux(只支持) 大数据分析.机器学习首选Linux ...
- 微信js sdk动态引用
一般情况下,微信的js-sdk只需要直接引用script即可 <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js&qu ...
- Axure RP Extension for Chrome安装
Axure RP Extension for Chrome安装 Axure RP Extension for Chrome是一款谷歌插件,主要可以用来查看原型文件.以前安装插件的时候总是找半天资源,很 ...
- Java : java基础(1)
java编译器有常亮优化机制,如果是常量的计算,会直接判断常量计算结果的取值范围,如果是变量,则没办法判断计算取值范围,编译会异常(如两个byte类型的变量相加). java中的常量指的是用 stat ...
- YII2.0 获取当前访问地址/IP信息
假设我们当前页面的访问地址是:http://localhost/CMS/public/index.php?r=news&id=1 一. 1.获取当前域名:echo Yii::app()-> ...
- python3 练习题100例 (二十六)回文数判断
题目内容: 给一个5位数,判断它是不是回文数,是则输出yes,不是则输出no. 例如12321是回文数,它的个位与万位相同,十位与千位相同. 输入格式: 共一行,为一个5位数. 输出格式: 共一行,y ...
- python 排列组合
笛卡尔积(product): 假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2) ...
- Linux命令备忘录: jobs 显示Linux中的任务列表及任务状态命令
Linux jobs命令用法详解:显示Linux中的任务列表及任务状态命令 jobs命令用于显示Linux中的任务列表及任务状态,包括后台运行的任务.该命令可以显示任务号及其对应的进程号.其中,任务号 ...
- node 发送 post 请求 get请求。
因为我们部门打算用node请求restful 然后慢慢替换掉服务端,以后直接请求soa的接口,让前端的数据更贴切项目,因为我们服务端接口和app公用一套,由于业务的需求和版本不统一(例如app6.4的 ...